下拉列表错误


Drop down list error

我有代码,我必须显示我的数据库的内容。我有一个性别下拉列表。如果用户选择其中一种性别,它将显示与他们选择的性别具有相同值的记录。结果以表格形式显示:

这是我的代码。

    <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

我认为你有两个问题。

  1. HTML按钮在选择范围内。

  2. 我认为下面一行需要修改为。

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

验证器应该告诉您所有这些,以及更多。