如何在php中加载选项框上的数据

如何在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将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['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>