-2

誰かがこのコード行を私に説明してくれませんか? 私が知っているのは、データベースからデータを取得してドロップダウン ボックスに表示するということですが、while ループで何が起こっているのでしょうか? $row[id]保存とは何を"'>".意味し、その目的は何ですか?

echo "<select name= 'FirstName'>";

$query = mysqli_query($con,"SELECT FirstName FROM persons");

while($row=mysqli_fetch_array($query))
{
echo "<option value='". $row['id']."'>".$row['FirstName']
 . '</option>';
}

echo '</select>';
4

5 に答える 5

1

あなたが提供したコードは、データベースからのオプションを含む選択ボックスを表示します

たとえば、dbからフェッチしていない場合は、次のようにします:-

<select name ='FirstName'>
 <option value='1'>Name 1</option>
 <option value='2'>Name 2</option>
 <option value='3'>Name 3</option>

</select>

そして今、あなたがデータベースからデータを取得している場合:-

echo "<select name= 'FirstName'>";

$query = mysqli_query($con,"SELECT FirstName FROM persons");

while($row=mysqli_fetch_array($query))
{
echo "<option value='". $row['id']."'>".$row['FirstName'] 
 . '</option>'; // $row['id'] is value for option
}

echo '</select>';

データベースに 10 個の名前がある場合、10 回ループし、選択ボックスに 10 個のオプションが表示されるとします。

編集 :-

このようにしてください:-

$id = $_POST['FirstName']; // 'FirstName' is a select box name

$id には、1 または 2 または 3 などの値が含まれます。

次に、この ID を使用してデータを取得する必要があります。

于 2013-06-19T11:53:32.123 に答える
0

このmysqli_fetch_array()関数は、結果行を連想配列、数値配列、またはその両方としてフェッチします。

要素を持っている間$query、それらを1つずつ取得します。

于 2013-06-19T11:43:13.983 に答える
0

id$row['id'] は、データベースの列から取得したデータを貼り付ける必要があります。echo次のようなものが出力されます。

"<option value='1'>John</option>"
于 2013-06-19T11:44:30.763 に答える
0

$query に行がある限り、while ループはそれを $row にフェッチします。

$query から取得する行がなくなると、while ループは停止します。

それは理にかなっていますか?

于 2013-06-19T11:41:18.100 に答える
0

このループは、選択 (ドロップダウン) 要素のオプション (項目) を作成します。Row[id] これは、このオプションが選択された場合にサーバーに送信されるものです。'>' 記号はオプション タグを閉じるだけです。row["FirstName"] これは、ユーザーがドロップダウン リストに表示するものです (ドロップダウン オプション)。

例: rowid = 1、FirstName = John

<option value="1">John</option>
于 2013-06-19T11:46:20.757 に答える