Как выбрать несколько строк из mysql с одним запросом и использовать их в php
в настоящее время у меня есть база данных, как показано на рисунке ниже.
где есть запрос, который выбирает строки с номером 1, равным 1. При использовании
mysql_fetch_assoc()
в php мне дается только первый Есть ли способ получить второй? Как через десятицентовый массив, как
array['number2'][2]
или что-то подобное
3 ответов
используйте повторные вызовы 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
переменная(массив),но когда произойдет следующая итерация, она будет потеряна.Таким образом, мы копируем содержимое array $row
в многомерный массив с именем $SubjectCode
.содержимое каждой строки будет сохранено в первом индексе этого массива.Это может быть позже повторно использовано в нашем сценарии.
(Я новичок в 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"]);
}