私は現在、下の写真のようなデータベースを持っています。
Number1が1に等しい行を選択するクエリがある場合
mysql_fetch_assoc()
pHPで私は最初のものだけを与えられます2番目を取得する方法はありますか?のような次元配列を介してのように
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
変数(配列)に格納されますが、次の反復が発生すると失われます。したがって、配列$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"]);
}