Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]pobiranie danych, pobiera tylko 1 rekord
srwsio
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


  1. $sql = "SELECT ids FROM test";
  2. if($database->affected_rows() > 0) {
  3. $row = $database->fetch_array($database->query($sql), MYSQL_ASSOC);
  4. }
  5. echo'<pre>';
  6. print_r($row);
  7. echo'</pre>';
  8.  


ja już zgłupiałem - dlaczego mi pobiera tylko pierwszy rekord z bazy?
z góry dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Pawcio91
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.05.2010

Ostrzeżenie: (0%)
-----


Wyświetla Ci tylko jeden wynik bo nie zrobiłeś tego w pętli, a w IFie.
Go to the top of the page
+Quote Post
srwsio
post
Post #3





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


a co ma do tego ten if ? affected przecież pobiera liczbę wierszy przetworzonych w ostatnim zapytaniu. Jeśli dam >1 to skrypt kończy działanie - nawet jak usunę ifa to pobiera tylko pierwszy wiersz tabeli
Go to the top of the page
+Quote Post
Adis92
post
Post #4





Grupa: Zarejestrowani
Postów: 146
Pomógł: 12
Dołączył: 9.01.2009
Skąd: Płock

Ostrzeżenie: (0%)
-----


Zamiast w pętli if umieść to w pętli while.
  1. $sql = mysql_fetch_array(mysql_query("SELECT ids FROM test"));
  2.  
  3. while($row = mysql_fetch_assoc($sql)){
  4.  
  5. /*zawartość do wyswietlenia */
  6.  
  7. }
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #5





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Problem leży tu:
  1. $row = $database->fetch_array($database->query($sql), MYSQL_ASSOC);

a konkretnie, to co zwraca metoda fetch_array() ? To wygląda na jakąś Twoją klasę i to w niej leży błąd. Mocno sugeruję użycie PDO - to już standard w dzisiejszych czasach (IMG:style_emoticons/default/smile.gif)

--edit
Upewnij się, że ta metoda zwraca wynik działania kodu, który pokazał Ci ~Adis92, czyli iteruje po rekordach, zapisuje je w tablicy i zwraca do Twojej $row
Go to the top of the page
+Quote Post
srwsio
post
Post #6





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 20.01.2005
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


  1. $row = $database->query($sql);
  2.  
  3. while ($row2 = $database->fetch_array($row) ){
  4. echo'<pre>';
  5. print_r($row2);
  6. echo'</pre>';
  7. }

i lata aż miło (IMG:style_emoticons/default/smile.gif)

dzięki wielkie
a takie to proste było

Ten post edytował srwsio 11.07.2010, 17:46:05
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:31