Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php i MySQL
Forum PHP.pl > Forum > Przedszkole
beginner
Mam dwie tabele members i pictures. Podczas wprowadzania danych members.id i pictures.pid mają taką samą wartosc
Gdy próbuje pobrac dane z dwu tabel bezposrednio z bazy /przez phpAdmin/ poleceniem
Kod
SELECT members.id as memid, pictures.pid as picid, pictures.pic_name as picname FROM members, pictures WHERE pictures.pid = members.id

wszytko jest okay baza zwraca prawidlowy wynik.
Schody zaczynają sie wtedy kiedy próbuje zrobic to samo przy pomocy skryptu php
  1. <?php
  2.  
  3. $query = "SELECT members.id as memid, pictures.pid as picid, pictures.pic_name as pic
    name FROM members, pictures WHERE pictures.pid = members.id "
    ;
  4. $result = mysql_query($query);
  5. if(!($result))
  6. die("Nie da się pobrać zapytania");
  7. if (!($row_data = mysql_fetch_array($result)))
  8. die("nie ma użytkownika");
  9. while($row_data = mysql_fetch_array($result))
  10. {
  11. $photo = $row_data["picname"];
  12. print("<img src = ../images/$photo height="200">");
  13. }
  14. ?>


Otrzymuje wówczas wynik zmniejszony w porównaniu z wynikami uzyskanymi z bezpośredniego zapytania i ze stanem faktycznym.

Dlaczego tak sie dzieje ?
dr_bonzo
if (!($row_data = mysql_fetch_array($result)))
tu pobierasz pierwszy wiersz ktorego nie wyswietlasz.
Rzast
korzystasz podwójnie z mysql_fetch_array($result)
Zamiast
  1. <?php
  2. if (!($row_data = mysql_fetch_array($result)))
  3. ?>

spróbuj
  1. <?php
  2. if (mysql_num_rows($result)==0)
  3. ?>

czyli brak wyników
beginner
Panowie.........JESTEŚCIE WIELCY.
Dziękuję BARDZO.
Wszystko teraz pracuje jak powinno smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.