2011-06-26 14 views
7

Obecnie mam bazę danych, jak na poniższym obrazku.Jak wybrać wiele wierszy z mysql z jednym zapytaniem i użyć ich w php

enter image description here

gdzie istnieje zapytanie, które wybiera wiersze z number1 równą 1. W przypadku korzystania

mysql_fetch_assoc() 

w php Mam tylko daną pierwszą Czy istnieje jakiś sposób, aby dostać się do drugiego? Jak przez dimesional tablicy jak

array['number2'][2] 

lub coś podobnego

Odpowiedz

13

Zastosowanie ponawianych wezwań mysql_fetch_assoc. Jest to udokumentowane w instrukcji 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"]; 
} 

Jeśli trzeba, można to wykorzystać, aby stworzyć wielowymiarową tablicę do konsumpcji w innych częściach skryptu.

+0

Powinienem był wiedzieć, że był tam. Dzięki wielkie! – 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']; 

} 

Tutaj pętli gdy pobiera co row.All kolumny rzędu będą przechowywane w $row zmiennej (array), ale podczas następnej iteracji stanie będzie lost.So się kopiowanie zawartości tablicy $row do wielowymiarowej tablicy o nazwie $SubjectCode. Zawartość każdego wiersza zostanie zapisana w pierwszym indeksie tej tablicy. Może być później ponownie wykorzystana w naszym skrypcie. (I jestem nowy w PHP, więc jeśli ktoś natknął się ten, kto zna lepszy sposób należy wymienić go wraz z komentarzem z moim nazwiskiem, tak, że mogę uczyć się nowych.)

1

Jest to kolejny łatwy sposób

$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

Powiązane problemy