如何在php中加载选项框上的数据
我在使用php将mysql数据加载到选项框时遇到问题。这是我的密码:如何在php中加载选项框上的数据,php,mysql,html,Php,Mysql,Html,我在使用php将mysql数据加载到选项框时遇到问题。这是我的密码: <?php $con = mysql_connect("localhost","myuname","mypassword"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("school", $con); $idnum= mysql_real_escape_string($_POST['idn
<?php
$con = mysql_connect("localhost","myuname","mypassword");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("school", $con);
$idnum= mysql_real_escape_string($_POST['idnum']);
$result = mysql_query("SELECT * FROM student WHERE IDNO='$idnum'");
?>
<?php while ( $row = mysql_fetch_array($result) ) { ?>
<tr>
<td width="30" height="35"><font size="2">*I D Number:</td>
<td width="30"><input name="idnum" type="text" maxlength="5" value="<?php echo $row["IDNO"]; ?>" readonly="readonly"></td>
</tr>
我该怎么做?加载与IDNO对应的确切性别?如果我理解,您的脚本将加载两行而不是一行。无论如何,这有点奇怪,因为您有一个非常具体的查询(
SELECT*FROM student WHERE IDNO='$idnum'
)。。。那么,为什么不将其更改为此?:SELECT*FROM student WHERE IDNO='$idnum'LIMIT 1
,这样您就可以确保它只加载一行
再见 注意:您在选项中错误地使用了
$line
而不是$row
,因此没有得到结果
注意2:从您的查询中可以看出,您只获取了一条记录:
"SELECT * FROM student WHERE IDNO = '$idnum'"
因此不需要循环(我假设IDNO
是表的主键)。但是,如果要读取表的所有记录,则查询应如下所示:
IDNO | GENDER
123 | M
321 | F
"SELECT * FROM student"
如何进行:
将选择框置于while
循环之前:
<select name="gender" id="gender">
在循环时关闭
<?php } ?>
最后关闭选择框
</select>
总之,您的代码应该如下所示(不包括db内容):
<?php } ?>
</select>
<select name="gender" id="gender">
<?php while ( $row = mysql_fetch_array($result) ) { ?>
<option value="<?php echo $row['IDNO']; ?> "><?php $row['GENDER'] ; ?></option>
<?php } ?>
</select>