Autor | Zpráva | ||
---|---|---|---|
Adam501 Profil |
#1 · Zasláno: 26. 1. 2011, 21:38:13
Ahoj. Mám takový problém s PHPkem. Ve stránkách mám tento kód:
$madeta = mysql_query("SELECT * FROM `vkmadeta`.`pocitadlo` WHERE `id` = '11'", $spojeni); $souper = mysql_query("SELECT * FROM `vkmadeta`.`pocitadlo` WHERE `id` = '21'", $spojeni); $mset = mysql_query("SELECT * FROM `vkmadeta`.`pocitadlo` WHERE `id` = '01'", $spojeni); $sset = mysql_query("SELECT * FROM `vkmadeta`.`pocitadlo` WHERE `id` = '02'", $spojeni); while ($my = mysql_fetch_array($madeta) ): while ($sou = mysql_fetch_array($souper) ): while ($ms = mysql_fetch_array($mset) ): while ($ss = mysql_fetch_array($sset) ): echo "<table> <tr class=\"team\"><td class=\"nic\"></td><td>Madeta</td><td>Soupeř</td><td class=\"nic\"></td></tr> <tr><td class=\"set\">".$ms['pocet']."</td><td class=\"bod\">".$my['pocet']."</td><td class=\"bod\">".$sou['pocet']."</td><td class=\"set\">".$ss['pocet']."</td></tr> </table>"; endwhile; endwhile; endwhile; endwhile; Měl by vypsat tabulku a v ní několik hodnot(s id 01,02,11,21). Ale on nevypisuje nic. Ani chybu, ani tabulku bez hodnot. Nevíte čím to je? V řádku s id 11,21 něco mám. Ty druhé dva neexistují, nevím jestli to na to má vliv... |
||
pcmanik Profil |
#2 · Zasláno: 26. 1. 2011, 21:44:50 · Upravil/a: pcmanik
Zaujimeve, tolko while som este takto zacyklenych nevidel, asi to bude tym ze kazdy sa opakuje, resp ten prvy zopakuje vsetky ostatne neumerne vela krat
|
||
Adam501 Profil |
#3 · Zasláno: 26. 1. 2011, 21:45:56
ale jak pak poznám, které se vypíše?
|
||
panther Profil |
#4 · Zasláno: 26. 1. 2011, 21:48:10
pcmanik:
1. máš tam syntaktické chyby 2. ne AND, ale OR (nebude žádný záznam, který bude mít 4 různá ID) 3. existuje in |
||
pcmanik Profil |
#5 · Zasláno: 26. 1. 2011, 21:49:55
panther:
Ja som si to vsimol, len som to zjavne neskoro zmazal |
||
TomášK Profil |
#6 · Zasláno: 26. 1. 2011, 21:51:33 · Upravil/a: TomášK
Edit: koukám, že panther byl rychlejší
Dotazy předpokládám vrací jen jeden záznam, while cykly jsou zbytečné. Pokud některý záznam neexistuje, tak se tělo daného while cyklu vůbec neprovede, tedy se ani nic nevypíše. |
||
Adam501 Profil |
#7 · Zasláno: 26. 1. 2011, 21:53:37
Ne. Vypisuje to 4 různé řádky, se 4 různými hodnotami.
|
||
panther Profil |
#8 · Zasláno: 26. 1. 2011, 21:54:03 · Upravil/a: panther
Adam501:
$result = mysql_query("SELECT pocet, id FROM `vkmadeta`.`pocitadlo` WHERE `id` IN (1, 2, 11, 21)", $spojeni); if (mysql_num_rows($result) > 0) { echo 'zacatek tabulky'; while ($data = mysql_fetch_assoc($result)) { echo '<td>'.$data['id'] . ' ' . $data['pocet']; } echo 'konec tabulky'; } Nevím, proč máš před ID 0, ID by mělo být auto_increment. Pokud to tak necháš, uprav si IN v mém SQL dotazu. |
||
Adam501 Profil |
#9 · Zasláno: 27. 1. 2011, 18:09:43
No. Jestli dobře chápu, tak tohle vypíše ID i pocet. A když potřebuju vypsat pouze pocet, z nějakého řádku, tak to udělám jak?
|
||
Časová prodleva: 13 let
|
0