我想问一下这段代码。我有两个下拉菜单和一个按钮。我想在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
答案 0 :(得分:0)
如果我做得对,你想按类别和性别(性别?)搜索学生,你可以使用这个SQL查询:
SELECT * FROM `student` WHERE `class` = 'the_class' AND `sex` = '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来发布和获取数据。