2011-06-26 50 views
7

Tôi hiện có cơ sở dữ liệu giống như hình bên dưới.Cách chọn nhiều hàng từ mysql bằng một truy vấn và sử dụng chúng trong php

enter image description here

Trong trường hợp có được một truy vấn mà chọn các hàng với number1 bằng 1. Khi sử dụng

mysql_fetch_assoc() 

trong php Tôi chỉ đưa ra đầu tiên là có cách nào để có được những thứ hai? Giống như thông qua một mảng dimesional như

array['number2'][2] 

hoặc một cái gì đó tương tự

Trả lời

13

Sử dụng lặp đi lặp lại các cuộc gọi đến mysql_fetch_assoc. Nó được ghi lại ngay trong hướng dẫn sử dụng PHP.

http://php.net/manual/function.mysql-fetch-assoc.php

// While a row of data exists, put that row in $row as an associative array 
// Note: If you're expecting just one row, no need to use a loop 
// Note: If you put extract($row); inside the following loop, you'll 
//  then create $userid, $fullname, and $userstatus 
while ($row = mysql_fetch_assoc($result)) { 
    echo $row["userid"]; 
    echo $row["fullname"]; 
    echo $row["userstatus"]; 
} 

Nếu bạn cần, bạn có thể sử dụng để xây dựng một mảng đa chiều để tiêu thụ tại các bộ phận khác của kịch bản của bạn.

+0

Tôi nên biết nó ở trong đó. Cám ơn rất nhiều! – Jjack

2
$Query="select SubCode,SubLongName from subjects where sem=1"; 
$Subject=mysqli_query($con,$Query); 
$i=-1; 

while($row = mysqli_fetch_array($Subject)) 
{ 
    $i++; 

    $SubjectCode[$i]['SubCode']=$row['SubCode']; 
    $SubjectCode[$i]['SubLongName']=$row['SubLongName']; 

} 

Đây là vòng lặp while sẽ lấy mỗi row.All các cột của hàng sẽ được lưu trữ trong $row biến (mảng), nhưng khi phiên bản kế tiếp sẽ xảy ra nó sẽ được lost.So chúng tôi sao chép nội dung của mảng $row thành mảng đa chiều được gọi là $SubjectCode. Nội dung của mỗi hàng sẽ được lưu trữ trong chỉ mục đầu tiên của mảng đó. Sau này có thể được sử dụng lại trong tập lệnh của chúng tôi. (Tôi mới vào PHP, vì vậy nếu ai đi qua này ai mà biết được một cách tốt hơn xin vui lòng đề cập đến nó cùng với một lời nhận xét với tên của tôi để tôi có thể học hỏi mới.)

1

Đây là một cách dễ dàng

$sql_shakil ="SELECT app_id, doctor_id FROM patients WHERE doctor_id = 201 ORDER BY ABS(app_id) ASC"; 
if ($result = $con->query($sql_shakil)) { 

while ($row = $result->fetch_assoc()) { 
    printf ("%s (%s)\n", $row["app_id"], $row["doctor_id"]); 
} 

Demo Link

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