繁体   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