我想问一下这段代码。我有两个下拉菜单和一个按钮。我想在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>
搜索2.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
如果我做对了,你想按班级和性别(性别?(搜索学生,你可以使用这个SQL查询:
SELECT * FROM `student` WHERE `class` = 'the_class' AND `sex` = 'the_sex';
哪里:
- the_class是"选择类">下拉列表中的输入
- the_是来自"选择性别">下拉列表的输入
如果我
理解正确,您希望输入两个下拉菜单来定义Mysql查询?在这种情况下,您可以简单地首先检查用户是否选择了两个值,然后您可以通过将"AND"添加到Mysql查询来相应地更改查询。
例如:
if(isset($_GET["class"]) && isset($_GET["sex"])) {
$result = mysql_query("SELECT * from student Where sex = '". $_GET["sex"]."' AND class = '".$_GET["class"]."'");
}
当然,在上面提到的解决方案中,我认为您知道如何通过html表单和PHP发布和获取数据。