两个下拉菜单和一个按钮

时间:2014-12-21 10:20:48

标签: php mysql

我想问一下这段代码。我有两个下拉菜单和一个按钮。我想在sql数据库中搜索我在那些下拉菜单中选择的内容。使用两个下拉菜单,sql数据库中搜索项的sql语法是什么。

我的数据库=测试

表=学生

name  |   class    |  sex   | mark |
John  |   Five     | Male   | 75
Jashi |   Four     | Female | 89   |



##HTML##
<form action="search2.php" method="post">
<select name="class">
<option value="" selected="selected">Class</option>


</select>
<select name="sex">
<option value="" selected="selected">Sex</option>


</select>
<input type="submit" value="search" />
</form>

search2.php

    <?php
   mysql_connect('localhost', 'root', '');
   mysql_select_db ("test");

    $whereClauses = '';
    $class = count($_POST['class']);
    $sex = count($_POST['sex']);
    $i = 0;
    if (! empty($_POST['class'])) {
    foreach ($_POST['class'] as $class) {
    $whereClauses .="class='".mysql_real_escape_string($class)."'";
    if ($i++ == $class) {
    $whereClauses .= " AND";
    }
    }
    }
    if (! empty($_POST['sex'])) {
    foreach ($_POST['sex'] as $sex) {
    $whereClauses .="sex='".mysql_real_escape_string($sex)."'";
    }
    if ($i++ == $sex) {
    $whereClauses .= " AND";
    }
    }
    $sql = "SELECT * FROM student '".$where."' ORDER BY id DESC '".$limit."'";
    $result=mysql_query($sql);
    while ($row = mysql_fetch_array($result)) {
    echo $row['class'];
    echo $row['sex'];
    echo $row['mark'];
    }
    ?>


    ANY HELP WOULD BE APPRECIATED

2 个答案:

答案 0 :(得分:0)

如果我做得对,你想按类别和性别(性别?)搜索学生,你可以使用这个SQL查询:

SELECT * FROM `student` WHERE `class` = 'the_class' AND `sex` = 'the_sex';

其中:

  • the_class 选择Class 下拉菜单的输入
  • the_sex 选择性别下拉菜单的输入

答案 1 :(得分:0)

如果我理解正确,你想要输入两个下拉菜单来定义Mysql查询吗?在这种情况下,您只需先检查用户是否选择了两个值,然后您可以通过添加&#34; AND&#34;来相应地更改您的查询。到Mysql查询。

例如:

if(isset($_GET["class"]) && isset($_GET["sex"])) {
$result = mysql_query("SELECT * from student Where sex  = '". $_GET["sex"]."' AND  class = '".$_GET["class"]."'");

}

当然,在上面提到的解决方案中,我假设你知道如何通过html表单和PHP来发布和获取数据。