Autor Zpráva
Adam501
Profil
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
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
ale jak pak poznám, které se vypíše?
panther
Profil
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
panther:

Ja som si to vsimol, len som to zjavne neskoro zmazal
TomášK
Profil
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
Ne. Vypisuje to 4 různé řádky, se 4 různými hodnotami.
panther
Profil
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
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?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: