使用查询实现数据

时间:2014-05-16 05:44:08

标签: php mysql

我想创建一个包含人名的html下拉列表的php页面(作为选项) 文本)然后他们的年龄(作为价值)。下面是我的形式供你查看(几乎我的意思)我硬编码:

<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查询实现到下拉列表?我很乐意帮助你。

3 个答案:

答案 0 :(得分:1)

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

$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>';

答案 1 :(得分:0)

你应该这样做

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

答案 2 :(得分:0)

您需要先从数据库中获取完整的人员列表,然后迭代输出每行的每个选项标签:

$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>';