gpt4 book ai didi

php - 使用 PHP 表单下拉列表创建 mySQL 查询 - 如果用户忽略下拉列表,则不要按该参数进行过滤

转载 作者:行者123 更新时间:2023-11-29 04:59:51 25 4
gpt4 key购买 nike

我正在创建一个简单的 MySQL 查询,它将通过用户从 2 个下拉列表中选择选项来构建。

我遇到的问题是,我希望每个下拉菜单都默认设置,如果他们实际上没有选择一个选项,则不要按该下拉菜单参数进行过滤。

因此,如果他们进来,只是点击提交,而不是从下拉列表中进行选择,他们应该会看到所有内容。如果他们只从一个下拉列表中选择,查询将基本上忽略另一个下拉列表的过滤。

我试着制作 <OPTION VALUE='any'>Choose但我的查询不知道如何处理“任何”,因此没有显示任何结果。

这是我的代码。非常感谢您提供的任何帮助。

表格

<form method="POST"  action="<?php echo $_SERVER['REQUEST_URI']; ?>">


<select name="GameType">
<OPTION VALUE='any'>Choose Game Type
<option value="Game1">Option 1</option>
<option value="Game2">Option 2</option>
<option value="Game3">Option 3</option>
</select>


<select name="Instructor">
<OPTION VALUE='any'>Choose Instructor
<option VALUE="InstructorA">Instructor A</option>
<option value="InstructorB">Instructor B</option>
<option value="InstructorC">Instructor C</option>
</select>

<input type='submit' value='Search Videos'>
</form>

MySQL

<?PHP

connection stuff

$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {
$SQL = "SELECT * FROM Videos WHERE GameType=\"{$_POST['GameType']}\" AND Instructor=\"{$_POST['Instructor']}\"";
$result = mysql_query($SQL);

while ($db_field = mysql_fetch_assoc($result)) {

echo $db_field['ShortDescription'] . ", ";
echo $db_field['LongDescription'] . ", ";
echo $db_field['GameType'] . ", ";
echo $db_field['NumberOfPlayers'] . ", ";
echo $db_field['Instructor'] . ", ";
echo $db_field['Stakes'] . ", ";
echo $db_field['UserPermissionLevel'] . ", ";
echo $db_field['DateCreated'] . "<BR>";

}

mysql_close($db_handle);

}
else {
print "Database NOT Found ";
mysql_close($db_handle);
}




?>

最佳答案

上周,我使用在 mikesdotnetting 上找到的技术实现了与此类似问题的解决方案。 .在其中,他描述了在 WHERE 子句中测试用户的空条目,然后转向标准匹配。

因此,将其比作您的示例:

"SELECT * FROM Videos 
WHERE (GameType IS NULL OR GameType = $_POST['GameType'])
AND (Intructor IS NULL OR Instructor = $_POST['Instructor'])"

另请注意,此技术将要求您在 :

中取消所选选项
<OPTION VALUE=''>Choose Game Type</option>

关于php - 使用 PHP 表单下拉列表创建 mySQL 查询 - 如果用户忽略下拉列表,则不要按该参数进行过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2528278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com