Autor | Zpráva | ||
---|---|---|---|
trsak1 Profil |
#1 · Zasláno: 12. 2. 2010, 19:50:28
Dobrý den,
s PHP se teprve učím a mám násladující script: <table border="1" align="center"> <tr style="font-weight: bold;"> <th bgcolor="red" align="center" color="#DC7602">*</th> <th bgcolor="red" align="center" color="#DC7602">Jméno</th> <th bgcolor="red" align="center" color="#DC7602">Hodnost</th> </tr> <?php require "db.php"; //.. $mysql=mysql_query("select id,jmeno,mail,web from uzivatele order by jmeno"); while ($vysledek=mysql_fetch_array($mysql)){ echo(' <tr> <td align="center">'.$vysledek["id"].'</td> <td align="center">'.$vysledek["jmeno"].'</td> <td align="center">-</td> </tr>'); } ?> </table> Chtěl jsem se zeptat, jak se dá například po kleknutí na id udělat, aby to bylo seřazný podle id atd. |
||
mckay Profil |
#2 · Zasláno: 12. 2. 2010, 20:33:04
trsak1:
Předávej si v $_GET["order"] sloupec, kterej je použitý jako hlavní řadič a nadpis v tabulce udělej jako odkaz, který bude směřovat na tvujsoubor.php?order=nazev_sloupce (ten nazev sloupce by měl být v ideálním případě shodný s tím v databázi, aby si to potom nemusel překládat) a : $order = htmlspecialchars($_GET["order"]); $mysql=mysql_query("select id,jmeno,mail,web from uzivatele order by $order"); |
||
kvoky Profil |
#3 · Zasláno: 12. 2. 2010, 21:04:13 · Upravil/a: kvoky
mckay:
Nikdy není dobrý ukazovat případnému útočníkovi jakou máš strukturu tabulky. Mimochodem nevím jestli stačí htmlspecialchars(), radši bych používal mysql_real_escape_string Udělal bych to asi nějak takhle: $sloupce=array("id", "jmeno", "hodnost"); if (in_array($_GET["order"], $sloupce){ $order=$sloupce[$_GET["order"]]; }else{ $order=$sloupce[0]; } $mysql=mysql_query("select id,jmeno,mail,web from uzivatele order by $order"); |
||
trsak1 Profil |
#4 · Zasláno: 12. 2. 2010, 21:04:34
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /3w/webz.cz/f/five-fingers/list.php on line 119
Toto mi to píše |
||
trsak1 Profil |
#5 · Zasláno: 12. 2. 2010, 21:12:21 · Upravil/a: trsak1
kvoky:
< table border="1" align="center"> <tr style="font-weight: bold;"> <th bgcolor="red" align="center" color="#DC7602"><a href="list.php?=id">*</a></th> <th bgcolor="red" align="center" color="#DC7602"><a href="list.php?=jmeno">Jméno</a></th> <th bgcolor="red" align="center" color="#DC7602"><a href="list.php?=hodnost">Hodnost</a></th> </tr> <?php require "db.php"; //.. $sloupce=array("id", "jmeno", "hodnost"); if (in_array($_GET["order"], $sloupce){ $order=$sloupce[$_GET["order"]]; }else{ $order=$sloupce[0]; } $mysql=mysql_query("select id,jmeno,hodnost from uzivatele order by $order"); while ($vysledek=mysql_fetch_array($mysql)){ echo(' <tr> <td align="center">'.$vysledek["id"].'</td> <td align="center">'.$vysledek["jmeno"].'</td> <td align="center">'.$vysledek["hodnost"].'</td> </tr>'); } ?> </table> |
||
panther Profil |
#6 · Zasláno: 12. 2. 2010, 21:14:54 · Upravil/a: panther
trsak1[#4]:
nech si vypsat mysql_error(), vypiš si dotaz, jestli je v něm to, co potřebuješ (převděpodobně je chyba v proměnné $order). |
||
trsak1 Profil |
#7 · Zasláno: 12. 2. 2010, 21:15:52
Parse error: parse error in /3w/webz.cz/f/five-fingers/list.php on line 118
píše to jen toto |
||
panther Profil |
#8 · Zasláno: 12. 2. 2010, 21:17:07
trsak1[#5]:
„Píše mi to:Parse error:“ tak tam máš syntaktickou chybu - hledej před řádkem uvedeným v zápise. Na to nepotřebuješ diskusi, kód si po sobě zvládneš projít sám, ne? |
||
dan55 Profil |
#9 · Zasláno: 12. 2. 2010, 21:19:30
<table border="1" align="center"> <tr style="font-weight: bold;"> <th bgcolor="red" align="center" color="#DC7602"><a href="list.php?=id">*</a></th> <th bgcolor="red" align="center" color="#DC7602"><a href="list.php?=jmeno">Jméno</a></th> <th bgcolor="red" align="center" color="#DC7602"><a href="list.php?=hodnost">Hodnost</a></th> </tr> <?php require "db.php"; //.. $sloupce=array("id", "jmeno", "hodnost"); if (in_array($_GET["order"], $sloupce)){ $order=$sloupce[$_GET["order"]]; }else{ $order=$sloupce[0]; } $mysql=mysql_query("select id,jmeno,hodnost from uzivatele order by $order"); while ($vysledek=mysql_fetch_array($mysql)){ echo(' <tr> <td align="center">'.$vysledek["id"].'</td> <td align="center">'.$vysledek["jmeno"].'</td> <td align="center">'.$vysledek["hodnost"].'</td> </tr>'); } ?> </table> Zkus to,dál jsem nezkoumal |
||
trsak1 Profil |
#10 · Zasláno: 12. 2. 2010, 21:32:32
Už to nevypisuje chybu, po kliknutí se však nic nestane, podívat se můžete Zde
|
||
mattyZEM Profil |
#11 · Zasláno: 12. 2. 2010, 21:37:03 · Upravil/a: mattyZEM
list.php?=hodnost eh, asi ti tam chybí název toho $_GET -.-'
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /3w/webz.cz/f/five-fingers/list.php on line 125 |
||
trsak1 Profil |
#12 · Zasláno: 12. 2. 2010, 21:39:51 · Upravil/a: trsak1
mattyZEM:
mohl by jste to prosím upřesnit? Jsem začátečník |
||
kvoky Profil |
#13 · Zasláno: 12. 2. 2010, 22:45:17
zkus predelat ten radek na:
$mysql=mysql_query("select id,jmeno,hodnost from uzivatele order by $order") or die (mysql_error()); a posli co ti to vypsalo za chybu. |
||
mattyZEM Profil |
#14 · Zasláno: 12. 2. 2010, 23:00:46
trsak1:
„mohl by jste to prosím upřesnit“ Že ti v odkazu chybí i to "order". Nyní to odkazuje na ?=XX, ale správně to má být ?order=XX.. A to druhé je chyba když zkusím právě to order. |
||
mckay Profil |
#15 · Zasláno: 13. 2. 2010, 15:36:23
|
||
Časová prodleva: 14 let
|
0