2010-02-18 13 views
8

OK, więc próbuję zapytać o moją bazę danych i wybrać wszystkie wiersze, które mają określoną wartość. Potem zamieniam zapytanie w tablicę z mysql_fetch_array(), a następnie próbowałem iterować wiersz przez pobraną tablicę używając a dla każdej pętli.Jak iterować wiersz za pomocą zapytania mysql w php

<?php 
$query = mysql_query("SELECT * FROM users WHERE pointsAvailable > 0 ORDER BY pointsAvailable Desc"); 
$queryResultArray = mysql_fetch_array($query); 
foreach($queryResultArray as $row) 
{ 
    echo $row['pointsAvailable']; 
} 
?> 

Choć kiedy robię to dla każdej kolumny oprócz kolumny pointsAvailable powiedzieć kolumna o nazwie „nazwa” typu tekst to tylko zwraca jedną literę.

Jak wykonać iterację po wierszu zwróconych zapytań według wierszy i czy można pobrać określone kolumny danych z bieżącego wiersza?

Odpowiedz

22
$result = mysql_query("SELECT id, name FROM mytable"); 

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    printf("ID: %s Name: %s", $row[0], $row[1]); 
} 

lub używając MYSQL_ASSOC pozwoli Ci używać nazwanych kolumn

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { 
    printf("ID: %s Name: %s", $row["id"], $row["name"]); 
} 
+0

Dziękuję, działało idealnie. Czy faktycznie po prostu zwraca jeden wiersz za każdym razem, gdy mysql_fetch_array jest wywoływany w zasobie zapytania? – AFK

+0

Za każdym razem, gdy wywoływana jest mysql_fetch_array, zwraca bieżący wiersz i przesuwa wskaźnik danych do następnego rzędu. Gdy wszystkie wiersze są wykonywane, zwraca wartość false, a pętla while kończy się. – Trevor

0

Tak używając mysql_fetch_array ($ result) jest droga.

Powiązane problemy