2011-06-26 4 views
7

В настоящее время у меня есть база данных, как на рисунке ниже.Как выбрать несколько строк из mysql с одним запросом и использовать их в php

enter image description here

Где есть запрос, который выбирает строки с number1, равным 1. При использовании

mysql_fetch_assoc() 

в PHP Я только учитывая первый, есть ли способ, чтобы получить второй? Как через размерный массив как

array['number2'][2] 

или нечто подобное

ответ

13

Используйте последовательные вызовы mysql_fetch_assoc. Это задокументировано в руководстве по 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"]; 
} 

Если вам нужно, вы можете использовать это, чтобы создать многомерный массив для потребления в других частях вашего сценария.

+0

Я должен был знать, что он там. Спасибо! – 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']; 

} 

Здесь цикл, пока будет получать каждый row.All столбцы строки будут сохранены в $row переменной (массив), но при следующей итерации происходит это будет lost.So мы копируем содержимое массива $row в многомерный массив с именем $SubjectCode. Контенты каждой строки будут сохранены в первом индексе этого массива. Это может быть позже использовано в нашем скрипте. (Я новичок в PHP, так что если кто-нибудь сталкивался с этим, кто знает лучше, пожалуйста, отметить его вместе с комментарием с моим именем, так что я могу узнать новое.)

1

Это еще один простой способ

$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

 Смежные вопросы

  • Нет связанных вопросов^_^