>4 -6ren">
gpt4 book ai didi

php - 如何在mysql查询中组合多个下拉列表值?

转载 作者:行者123 更新时间:2023-11-29 19:50:41 25 4
gpt4 key购买 nike

   <form method="post" action="search.php">
<select name="Num[]">
<option value="">Select One</option>
<option value="numofpeople">Number of people</option>
</select>
<select name="op[]">
<option value="">Select One</option>
<option value=">4">>4</option>
<option value=">2">>2</option>

</select>

<br />


<select name="num2[]">
<option value="">Select One</option>
<option value="price">Price</option>
</select>
<select name="op2[]">
<option value="">Select One</option>
<option value="<20000"><20000</option>
<option value="<40000"><40000</option>
</select>
<br />

<div class="input-group-btn">
<button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>

</form>

这是我为用户提供下拉列表的代码。它将充当过滤器,通过 mysql 生成更具体的结果,并且不会获取组合这些下拉值的逻辑。

我想要这样的东西:

Select * from hotel where price < 40000;

我将提供“Where”之后的所有关键字。

最佳答案

选择框名称在 html 中定义为数组,您的要求是用户可以在选择框中选择单个选项。因此您需要更新选择框的名称。您无需在选择框值中添加 <,这些条件在服务器端使用。我已经更正了 HTML。

<form method="post" action="">
<select name="Num">
<option value="">Select One</option>
<option value="numofpeople">Number of people</option>
</select>
<select name="op">
<option value="">Select One</option>
<option value="4">>4</option>
<option value="2">>2</option>

</select>

<br />


<select name="num2">
<option value="">Select One</option>
<option value="price">Price</option>
</select>
<select name="op2">
<option value="">Select One</option>
<option value="20000"><20000</option>
<option value="40000"><40000</option>
</select>
<br />

<div class="input-group-btn">
<button class="btn btn-default" type="submit" name="search_btn"><i class="glyphicon glyphicon-search"></i> Search</button>
</div>

</form>

用于处理选定值并添加到查询的服务器端代码。

if(isset($_POST['search_btn'])){
$conditons = array();
if(isset($_POST['Num'])){
$conditons[] = '`people` = "'.$_POST['Num'].'"';
}

if(isset($_POST['op'])){
$conditons[] = '`option` < '.$_POST['op'];
}

if(isset($_POST['price'])){
$conditons[] = '`price` = '.$_POST['price'];
}

if(isset($_POST['op2'])){
$conditons[] = '`op2` < '.$_POST['op2'];
}

$conditons = implode(' & ', $conditons);

echo $query = 'select * from hotel where '.$conditons;

}

您可以在条件中更新您的真实字段名称。添加条件后,查询结果为 -

select * from hotel where `people` = "numofpeople" & `option` < 4 & `op2` < 20000

关于php - 如何在mysql查询中组合多个下拉列表值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40825485/

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