我有代码,我必须显示我的数据库的内容。我有一个性别下拉列表。如果用户选择其中一种性别,它将显示与他们选择的性别具有相同值的记录。结果以表格形式显示:
这是我的代码。
<html>
<h1> Student Search </h1>
<body>
<table border="1" width="500">
<form name="StudentSearch" action="search.php" method="get">
<table border="1">
<h3> Filter </h3>
<h3> Gender </h3>
<select name="gender">
<option value="">. . .</option>
<option value="Female">Female</option>
<option value="Male">Male</option><br/ ><br/ ><br/ ><br/ >
<input type="submit" value="submit" name="submit" />
</select>
</table>
<br/ >
<br/ >
<br/ >
<br/ >
<h3> Result </h3>
<table border="1">
<tr>
<th> Lastname </th>
<th> Firstname </th>
<th> Middlename </th>
<th> Gender </th>
</tr>
<tr>
<td>
<?php
mysql_connect("localhost", "root", "password") or die (mysql_error ());
mysql_select_db("PUP") or die(mysql_error());
$strSQL = "SELECT lastname, firstname, middlename, gender FROM people WHERE gender=" . $_GET["gender"];
$rs = mysql_query($strSQL);
$i = 1;
while($row = mysql_fetch_array($rs)) {
echo "<dt> </dt><dd>" . si . " " . $row["lastname"] . " " . $row["firstname"] . " " . $row["middlename"] . " " . $row["gender"] . "</dd>";
$i++;
}
?>
</td>
</tr>
</table>
</table>
</body>
</html>
我做错了什么?
变化
<select name="gender">
<option value="">. . .</option>
<option value="Female">Female</option>
<option value="Male">Male</option><br/ ><br/ ><br/ ><br/ >
<input type="submit" value="submit" name="submit" />
</select>
<select name="gender">
<option value="">. . .</option>
<option value="Female">Female</option>
<option value="Male">Male</option>
</select>
<br/ ><br/ ><br/ ><br/ >
<input type="submit" value="submit" name="submit" />
因为你关闭晚了,你有一些<br />
和一个提交按钮在里面,这是无效的HTML
我认为你有两个问题。
-
HTML按钮在选择范围内。
-
我认为下面一行需要修改为。
$strSQL = "SELECT所有性别为' '的人的姓,名,名,名,性别"$ _GET["性别"]。"‘";
欢呼。普拉萨德
你生成的HTML是无效的;尝试在其上运行验证程序。下面的部分有一个问题,即在select中不允许换行,也不允许提交:
<select name="gender">
<option value="">. . .</option>
<option value="Female">Female</option>
<option value="Male">Male</option><br/ ><br/ ><br/ ><br/ >
<input type="submit" value="submit" name="submit" />
</select>
应该重写为
<select name="gender">
<option value="">. . .</option>
<option value="Female">Female</option>
<option value="Male">Male</option>
</select>
<br/ ><br/ ><br/ ><br/ >
<input type="submit" value="submit" name="submit" />
直接在表中包含内容也是无效的,就像你在这里所做的:
<table border="1">
<h3> Filter </h3>
<!-- ...other stuff -->
</table>
你必须先打开一个表行和单元格,像这样:
<table border="1">
<tr>
<td>
<h3> Filter </h3>
<!-- ...other stuff -->
</td>
</tr>
</table>
验证器应该告诉您所有这些,以及更多。