簡體   English   中英

如何通過一次查詢從 mysql 獲取 select 多行並在 php 中使用它們

[英]How to select multiple rows from mysql with one query and use them in php

我目前有一個如下圖所示的數據庫。

在此處輸入圖像描述

其中有一個查詢選擇 number1 等於 1 的行。使用時

mysql_fetch_assoc()

in php 我只得到第一個有沒有辦法得到第二個? 就像通過一個維度數組一樣

array['number2'][2] 

或類似的東西

使用重復調用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"];
}

如果需要,可以使用它來構建一個多維數組,以便在腳本的其他部分中使用。

$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'];

}

這里while循環將獲取每一行。該行的所有列都將存儲在$row variable(array)中,但是當下一次迭代發生時它將丟失。所以我們將array $row的內容復制到一個多維數組中每行調用$SubjectCode .contents將存儲在該數組的第一個索引中。這可以在我們的腳本中重用。 (我是PHP的新手,所以如果有人遇到這個誰知道更好的方式,請提及它以及我的名字的評論,以便我可以學習新的。)

這是另一種簡單的方法

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

演示鏈接

看起來還沒有提出完整的解決方案

$Query="select SubCode,SubLongName from subjects where sem=1";
$Subject=mysqli_query($con,$Query);
$Rows = array ();
while($row = mysqli_fetch_array($Subject))
{
    $Rows [] = $row;
}

$Rows [] = $row將行附加到數組。 結果是所有行的多維數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM