下拉列表错误

时间:2011-12-28 08:42:45

标签: php html drop-down-menu

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

这是我的代码。

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

我做错了什么?

3 个答案:

答案 0 :(得分:0)

更改

<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 :(得分:0)

我认为你有两个问题。

  1. HTML按钮位于选择内。首先要做到。

  2. 我认为波纹线需要修改为。

    $ strSQL =“SELECT lastname,firstname,middlename,gender FROM people WHERE gender ='”。 $ _GET [“性别”]。 “'”;

  3. 干杯。

    普拉萨德

答案 2 :(得分:0)

您制作的HTML无效;尝试在其上运行validator。 以下部分的问题是,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>

验证员应该告诉你所有这些,等等。