Autor Zpráva
monsieur_duc
Profil
ahoj!
Zkouším udělat kód, který vypíše všechny uživatele, kteří mají stejnou IP jako vybraný uživatel na kterého se zrovna dívám (profil).
$ip = $radek2["ip"];
$stejneip = mysql_query("SELECT * FROM uzivatele WHERE nick!='$nick' AND ip='$ip'");
$stejnei = mysql_fetch_array($stejneip);
$ips = $stejnei["uziv_jmeno"];
if ($ip == NULL){
$ips = "";
}
if (mysql_num_rows($stejneip) == 0){
$ips = "";
}

<tr><td>Uživatelé se stejnou IP: <b>$ips</b></td></tr>";


Bohužel tenhle můj kód vypíše pouze jeden nick, i když vím že v databázi jsou dva lidi se stejnou IP.
Jak udělat, aby to vypsalo všechny? díky!
Joker
Profil
monsieur_duc
$stejnei = mysql_fetch_array($stejneip);
...vrátí první záznam. Další mysql_fetch_array vrátí další záznam.
while(mysql_fetch_array($stejneip)){
...vypiš...
}
vypíše všechny ;-)

Dodatek:
if (mysql_num_rows($stejneip) == 0)
- na daném místě je to úplně zbytečné. Předtím je už mysql_fetch_array a pokud něco vrátí, máte jistotu, že alespoň jeden záznam existuje.
Charlie22
Profil
mysql_fetch_array
/ ti vraci pole, takze to pole musis nejak projit, tad vypisujes akorat prvni hodnotu

do{
echo $stejnei;
} while ($stejnei = mysql_fetch_array($stejneip));
Joker
Profil
Charlie22
mysql_fetch_array
/ ti vraci pole, takze to pole musis nejak projit, tad vypisujes akorat prvni hodnotu

Pozor! To sice vrací pole, ale to celé pole odpovídá jednomu záznamu z databáze (prvky pole jsou jednotlivé hodnoty/sloupce v záznamu)!
Další volání mysql_fetch_array vrátí další záznam.
edit: pak to s tím cyklem je už správně.
monsieur_duc
Profil
Jj to while vypíše všechny. Ale..
Jak udělám aby mezi nimi byla aspoň čárka??
monsieur_duc
Profil
<tr><td>Uživatelé se stejnou IP: <b>";
while ($stejnei = mysql_fetch_array($stejneip)){
$ips = $stejnei["uziv_jmeno"];
if ($ip == NULL){
$ips = "";
}
if (mysql_num_rows($stejneip) == 0){
$ips = "";
}
echo $ips;
}
echo "</b></td></tr>";
monsieur_duc
Profil
díky moc už jsem na to přišel!
Toto téma je uzamčeno. Odpověď nelze zaslat.