2013-06-19 190 views
-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

也许阅读基本的MySQL + PHP教程是最好的选择。 – JJJ

+0

这几乎是你可以用mysqli做的最基本的事情。 – Patashu

回答

1

你必须提供将dispay含有可从数据库

来为前中,如果你没有从取选项中选择框的代码分贝那么你这样做: -

<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来获取数据。

+0

这不会回答代码正在做什么。 –

+0

问题是在while循环中发生了什么?什么是$ row [id]存储。所以我只是向他解释说,while循环用于从db中获取数据,以便它在选择框中显示 –

+0

@RakeshShetty所以如果我希望捕获这个值,以便当用户在下拉框中选择一个项目时,我可以显示该数据特定于在下拉框中选择的项目。我必须指向$ id还是'FirstName'? somthing like if($ row ['id'] ==“Selected”){}这是正确的语法和正确的方法吗? –

0

只要是在$查询行,while循环将它取到$行。

while循环将在没有行从$ query中获取时停止。

它有意义吗?

0

mysqli_fetch_array()功能获取的结果一行作为关联阵列,数字数组,或两者。

虽然$query具有元素就会检索它们,一个接一个。

0

$行[“身份证”]应该从数据库id列粘贴获取的数据。对于选择(下拉列表)元素

"<option value='1'>John</option>" 
0

这个循环创建选项(项):echo将输出类似。行[id]这是什么会发送到服务器的情况下,当这个选项将被选中,'>'标志只是关闭选项标签,和行[“名字”]这是用户将在下拉列表中看到(drop下拉选项)。

举例:ROWID = 1,名字=约翰

<option value="1">John</option> 
+0

所以,如果我想抓住这个值,以便当用户在下拉框中选择一个项目时,我可以显示特定于在下拉框中选择的项目的数据。我必须指向$ id还是'FirstName'? somthing like if($ row ['id'] ==“Selected”){}这是正确的语法和正确的方法吗? –