-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

您提供的代码将显示选择框,其中包含来自数据库的选项

如果你不从数据库中获取前,那么你会这样做: -

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

</select>

现在,如果您从 db 获取数据:-

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 or2 或 3 等值。

现在你必须使用这个 id 来获取数据。

于 2013-06-19T11:53:32.123 回答
0

只要 $query 中有一行,while 循环就会将其提取到 $row 中。

当 $query 中没有可获取的行时,while 循环将停止。

是否有意义?

于 2013-06-19T11:41:18.100 回答
0

mysqli_fetch_array()函数以关联数组、数值数组或两者的形式获取结果行。

虽然$query有元素,但它会一一检索它们。

于 2013-06-19T11:43:13.983 回答
0

$row['id'] 应该粘贴id从数据库列中提取的数据。echo将输出如下内容:

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

此循环为选择(下拉)元素创建选项(项目)。Row[id] 这是在选择此选项的情况下将发送到服务器的内容,'>' 符号只是关闭选项标签,并且 row["FirstName"] 这是用户将在下拉列表中看到的内容(drop下选项)。

示例:rowid = 1,FirstName = John

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