Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]pobiranie danych, pobiera tylko 1 rekord
srwsio
post 10.07.2010, 22:55:22
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 10.07.2010, 23:11:47
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 10.07.2010, 23:20:11
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 11.07.2010, 00:41:46
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 11.07.2010, 03:32:49
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 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


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
srwsio
post 11.07.2010, 17:28:38
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 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:05