![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 2 Dołączył: 2.06.2012 Ostrzeżenie: (0%) ![]() ![]() |
hej
mam taki kod: Kod <?php CONNECT TO DATABASE... $prefix="gazeta_"; $tab_wyd=mysql_query("SELECT * FROM ".$prefix."wydania WHERE id=(SELECT max(id) FROM ".$prefix."wydania) AND data_zamkniecia<=DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s')"); if(mysql_num_rows($tab_wyd) > 0) { echo "<table cellpadding=\"2\" border=1>"; while($r = mysql_fetch_assoc($tab_wyd)) { echo "<tr>"; echo "<td>".$wyd=$r['id']."</td>"; echo "<td>".$r['numer']."</td>"; echo "</tr>"; } echo "</table>"; } //do tego momentu wszystko dziala ok - elegancko sie wyswietla $wynik_blad = mysql_query("SELECT * FROM ".$prefix."ogloszenia WHERE id_wydania='".$tab_wyd[0]["id"]."' AND liczba_pozostalych_emisji>0") or die('Blad zapytania'); $wynik_ok = mysql_query("SELECT * FROM ".$prefix."ogloszenia WHERE id_wydania='".$wyd."' AND liczba_pozostalych_emisji>0") or die('Blad zapytania'); // zamykamy połączenie mysql_close($connection); ?> i teraz tak, w zapytaniu $wynik_blad wykorzystując $tab_wyd[0]["id"] nie otrzymuje zadnych rekordów. w zapytaniu $wynik_ok wykorzystujac $wyd wszystko jest poprawnie. Możecie mi wyłożyć jak krowie na miedzy dlaczego tak jest? Bo nie bardzo czaje. Od razu mowie ze to moje poczatki z php. z góry dzieki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 590 Pomógł: 107 Dołączył: 25.10.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie ma czegoś takiego, jak zawartość zmiennej $r POZA PĘTLĄ. Pisałem już, że mysql_fetch_assoc zwraca poszczególny wiersz z bazy, a jak wierszy już nie ma, to zwraca FALSE (co zresztą jest sygnałem dla while(), by zakończyć działanie). Dlatego poza while() $r nie istnieje. KROPKA.
Poza tym, $r['id'] to ZAWARTOŚĆ POLA W BAZIE DANYCH dla konkretnego wiersza w talicy. Jeśli Ty robisz sobie teraz "SELECT *" z bazy i dostajesz np. 20 wierszy z bazy, to wewnątrz while() odwołanie się do $r['id'] będzie zwracało zawartość tego pola dla danego wiersza. Ale, poza bazą pozostaje pytanie: do KTÓREGO WIERSZA z tych 20 odczytanych chcesz się odwoływać? Skąd ten biedny komputer ma to wiedzieć? Jeśli chcesz sobie jakieś wartości zachować, dopisz je do tablicy, dodając w pętli np. $tablica[$index] = $r. Jak sobie poukładasz wartości $index, to już Twoja bajka. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 21:27 |