使用查询实现数据


Implement data using query

我想创建一个php页面,其中包含一个html下拉列表的人的名字(作为选项文本),然后他们的年龄(作为值)。下面是我的表单,你可以看到(几乎是我的意思),我硬编码:

<form>
<select name="nameOption">
<option value="">Select your name:</option>
<option value="45">Mary Smith</option>
<option value="16">Lily Roe</option>
<option value="32">Elliot Perkins</option>
</select>
<p><input type="submit" name="submit" value="Submit"/>&nbsp;
<input type="reset" value="Reset" />
</form>

我想做的(或一直试图做的)是通过运行SQL查询来创建下拉列表,从我的数据库(不像我上面写的)获取数据(人的姓名和年龄),然后当我点击其中一个选项时,只有他们的或年龄应该出现。基本上,我需要将数据库中的数据实现到下拉列表中

现在我被困在这里了。我熟悉为表编写SQL语句,但当我尝试为php标记中的下拉列表创建SQL语句时,我似乎感到困惑。

我该怎么写呢?如:

$sql = "SELECT name, age FROM person WHERE name = ". $person. ";

$nameOption = $_POST['nameOption'];
print_r ($nameOption);

选择数据库:

$conn = mysql_connect("localhost", " ", " "); 
mysql_select_db(" ", $conn) 

我知道这似乎是一个无聊的答案,但我需要帮助。我如何实现SQL查询下拉列表?我希望你能帮助我。

由于必须将字符串括在引号中,因此将查询更改为

$sql = "SELECT name, age FROM person WHERE name = '$person'";

要动态显示下拉菜单,你可以这样做

$query=mysql_query($sql);
echo '<select name="nameOption">
<option value="">Select your name:</option>';
while($result=mysql_fetch_array($query))
{
    echo '<option value="'.$result['age'].'">'.$result['name'].'</option>';
}
echo '</select>';

你应该这样做

<select name="nameOption">
<?php 
$query = mysql_query($sql);
while( $row = mysql_fetch_array($query) ) {
   echo '<option value="'.$row['age'].'">"'.$row['name'].'"</option>';
}
?>
</select>

您需要首先从数据库中获得人员的完整列表,然后遍历该列表,为每行输出每个选项标记:

$cnx = new Mysqli('localhost', 'username', 'password', 'database_name');
$people = $cnx->query("SELECT name, age FROM person");
echo '<select name="nameOption">';    
while($person = $people->fetch_assoc())
{
    echo '<option value="' . $person['age'] . '">' . $person['name'] . '</option>';
}
echo '</select>';