2010-02-18 35 views
8

Ok, Vì vậy, tôi đang cố truy vấn cơ sở dữ liệu của mình và chọn tất cả các hàng có giá trị nhất định. Sau đó tôi chuyển truy vấn vào một mảng với mysql_fetch_array(), sau đó tôi đã thử lặp lại theo hàng thông qua mảng đã tìm nạp bằng cách sử dụng một cho mỗi vòng lặp.Cách lặp lại theo hàng thông qua truy vấn mysql trong 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']; 
} 
?> 

Mặc dù khi tôi thực hiện điều này cho bất kỳ cột nào bên cạnh cột Có sẵn, thì cột này chỉ trả về một chữ cái.

Làm cách nào để lặp qua hàng truy vấn được trả về theo hàng và được phép tìm nạp các cột dữ liệu cụ thể từ hàng hiện tại?

Trả lời

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]); 
} 

hoặc sử dụng MYSQL_ASSOC sẽ cho phép bạn sử dụng tên cột

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

Cảm ơn bạn đã làm việc một cách hoàn hảo. Vì vậy, nó thực sự chỉ trở lại một hàng mỗi lần mysql_fetch_array được gọi là trên tài nguyên truy vấn? – AFK

+0

Mỗi lần mysql_fetch_array được gọi, nó trả về hàng hiện tại và di chuyển con trỏ dữ liệu tới hàng kế tiếp. Khi tất cả các hàng được truyền tải, nó sẽ trả về false và vòng lặp while kết thúc. – Trevor

0

Có sử dụng mysql_fetch_array ($ result) là con đường để đi.

Các vấn đề liên quan