Autor | Zpráva | ||
---|---|---|---|
StormHunter Profil * |
#1 · Zasláno: 18. 9. 2011, 16:50:26
Dobrý den,
řeším problém zobrazování článků a po následném rozklikntí jak daný článek zobrazit. Prosím omluvte mé amaterské zpracování. $login = MySQL_Query("SELECT * FROM clanky ORDER BY id DESC"); while ($zaznam = MySQL_Fetch_row($login)) if("$_GET[page_id]"=="a&$strana"){echo" <br><big><font color=\"#FF9933\"><b>$zaznam[2]</b></font></big><br> <img src=\"images/cara.png\"><br><br> <table> <tr><td><h3>$zaznam[3]</h3></td></tr> <tr><td><td><p align=\"right\"> $zaznam[1],$zaznam[4]</p> </tr> </table> ";} else{ echo(" <br><big><font color=\"#FF9933\"><b>Články</b></font></big><br> <img src=\"images/cara.png\"><br><br> "); $login = MySQL_Query("SELECT * FROM clanky ORDER BY id DESC"); while ($zaznam = MySQL_Fetch_row($login)){ $_GET[strana] = $zaznam[0]; echo "<a href=\"clanky.php?page_id=a&$_GET[strana]\"><h1>$zaznam[2]</h1> "; } } Spodní část má řešit odkaz u názvu článku a horní má zjistit zda je rozkliknut nějaký článek a pokud ano tak ho má zobrazit. Děkuji za jakoukoli radu |
||
Radek9 Profil |
#2 · Zasláno: 18. 9. 2011, 16:58:40 · Upravil/a: Radek9
StormHunter:
Přesně za to, že jdou proměnné vkládat přímo do stringu, PHP nesnáším. (Jinak je to super jazyk, ale tohle mě prostě brutálně štve.) První řádek by měl vypadat takhle: if($_GET["page_id"]=="a&".$strana){ echo "<a href=\"clanky.php?page_id=a&".$_GET["strana"]."\"><h1>$zaznam[2]</h1>"; |
||
Jozin Profil |
#3 · Zasláno: 18. 9. 2011, 18:44:14
Radek9:
„if($_GET["page_id"]=="a&".$strana){“ tak takto rozhodně ne. Vždyť se ta podmínka nikdy nemůže splnit. Znak & rozděluje indexy proměnné $_GET v adresním řádku. takže $strana je vlastně název další proměnné, což dotazující asi nechce. Nic to však nemění na tom, že podmínka nebude nikdy splněna. StormHunter: Copak je v proměnné $strana? Dále proč je page_id = a? pokud má být za page_id identifikátor nějakého článku, tak pak adresa bude vypadat takto: http://domena.cz/clanky.php?page_id=123, kde 123 je id v DB nikoli http://domena.cz/clanky.php?page_id=a&123, protože 123 není pak hodnota, ale název indexu, stejně tak jako je page_id |
||
Radek9 Profil |
#4 · Zasláno: 19. 9. 2011, 20:02:47
Jozin:
Já netuším, jak to myslel. Upravil jsem mu to jen tak, aby tam nebyly ty proměnné přímo ve stringu. To, jak s tím naloží, je jen a jen na něm. |
||
StormHunter Profil * |
#5 · Zasláno: 19. 9. 2011, 20:54:27
Jozin:
už jsem si to upravil a funguje. „if($_GET["page_id"]=="a&".$strana){“ mělo rozpoznat, jestli proměnná není prázdná, asi neúspěšne. Od vás jsem nepochopil vše, ale $zaznam[0] je id článku. Přes noc ze mě vypadlo toto: if ($_GET[clanek]<>''){ $login = MySQL_Query("SELECT * FROM clanky ORDER BY id DESC"); while ($zaznam = MySQL_Fetch_row($login)) if ($_GET[clanek]==$zaznam[0]){ echo" <br><big><font color=\"#FF9933\"><b>$zaznam[2]</b></font></big><br> <img src=\"images/cara.png\"><br><br> <table> <tr><td><h3>$zaznam[3]</h3></td></tr> <tr><td><p align=\"right\"> $zaznam[1],$zaznam[4]</p> </tr> </table> ";}} else{ echo(" <br><big><font color=\"#FF9933\"><b>Články</b></font></big><br> <img src=\"images/cara.png\"><br><br> "); $login = MySQL_Query("SELECT * FROM clanky ORDER BY id DESC"); while ($zaznam = MySQL_Fetch_row($login)){ echo "<a href=\"clanky.php?clanek=$zaznam[0]\"><h1>$zaznam[2]</h1><br> "; } } ?> První zvýrazněný zjistí, zda proměnná není prázdná a pokud má nějakou hodnotu, druhý zvýrazněný přiřadí článek k vypsání. Pokud je proměná prázdná, spodní zvýzarněný zobrazí názvy článků. |
||
StormHunter Profil * |
#6 · Zasláno: 19. 9. 2011, 20:55:55
mimochodem Děkuji za pomoc
|
||
czmarci Profil * |
#7 · Zasláno: 20. 9. 2011, 07:26:15
StormHunter:
> if ($_GET[clanek]<>''){ Nebylo by lepší v prvním řádku použít: if(!empty($_GET[clanek])) { ... } ? |
||
panther Profil |
#8 · Zasláno: 20. 9. 2011, 08:35:38
czmarci:
když už, tak isset($_GET['clanek']) && !empty($_GET['clanek'])
|
||
StormHunter Profil * |
#9 · Zasláno: 20. 9. 2011, 18:19:51
raději zůstanu u mé varianty :). Díky!
|
||
Davex Profil |
#10 · Zasláno: 20. 9. 2011, 18:28:37
panther:
Stačí jen !empty($_GET['clanek']) , protože neexistující proměnná je také prázdná a k upozornění na chybu nedojde.
|
||
czmarci Profil * |
#11 · Zasláno: 20. 9. 2011, 19:04:36
panther:
když už, tak isset($_GET['clanek']) && !empty($_GET['clanek']) Jak píše Davex, neexistující proměnná je také prázdná, na druhou stranu také používám isset if(isset($_GET['action']) && $_GET['action'] == "katalog" && isset($_GET['detail']) && !empty($_GET['detail']) ) |
||
panther Profil |
#12 · Zasláno: 20. 9. 2011, 19:32:04
Davex:
aha, to se omlouvám. Žil jsem v domnění, že... Spletl jsem se, děkuji za opravu. |
||
Časová prodleva: 13 let
|
0