大家好,我只是一个编码 php mysql 的新手。在很短的时间内,我试图测试 phpmysql 过滤器,就像我们现在在不同的电子商务网站上看到的那样。但在某一时刻,我粘在我有一张 table 的地方精选美食列表,例如: table [cuisine_view][1]。我已经通过 implode() 插入了这些值。我想过滤那些rest_ids,其中rest_cuisine=CHINESE。在查询中,我使用“find_in_set”标签从用,(逗号)分隔的字符串列表中搜索特定字符串。
这是我的复选框形式。
<form method="post" action="cuisine_view.php" enctype="multipart/form-data">
<p>SELECT CUISINS:</P><br>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="INDIAN">INDIAN
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="CHINESE">CHINESE
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="CONTINENTAL">CONTINENTAL
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="REGIONAL">REGIONAL
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="BENGALI">BENGALI
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="SOUTHINDIAN">SOUTHINDIAN
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="NORTHINDIAN">NORTHINDIAN
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="BIRIYANI">BIRIYANI
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="MOGLAI">MOGLAI
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="KEBAB">KEBAB
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="PIZZA">PIZZA
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="BURGER">BURGER
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="SANDWITCH AND SALADS">SANDWITCH AND SALADS
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="DIETFOOD">DIETFOOD
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="ICE-CREAMS">ICE-CREAMS
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="COFEE AND TEA">COFEE AND TEA
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="SWEETS AND SNACKS">SWEETS AND SNACKS
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="FRIED CHICKEN">FRIED CHICKEN
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="MOMOS AND SOUP">MOMOS AND SOUP
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="MOKTALES">MOKTALES
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="CHOCOLATES">CHOCOLATES
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="BAKERY">BAKERY
</div>
<div class="cb-row">
<input type="checkbox" name="answer[]" value="CAKES">CAKES
</div>
<br>
<br>
<input type="submit" class="button" name="submit" >
</form>
......................
And the php mysql query :
...after successfull db connection...`$checkbox = implode(',', $_POST['answer']);
$sql = "SELECT Rest_id FROM vendor_filter WHERE find_in_set("$checkbox",Rest_cuisine)";
` 但它不起作用说错误消息为:解析错误:语法错误,C:\xampp\htdocs\templetes\cuisine_view.php中意外的'$ checkbox'(T_VARIABLE) 我被困住了……请赐教……问候。
[1]: http://i.stack.imgur.com/v44iC.png
最佳答案
试试这个代码:-
$sql = "SELECT Rest_id FROM vendor_filter WHERE 1=1 ";
foreach($_POST['answer'] as $val){
$sql .=" and find_in_set($val,Rest_cuisine)";//AND|OR what you want
}
Find_in_set Returns a value in the range of 1 to N if the string str is in the string list strlist consisting of N substrings
关于php - 使用 coma(,) 通过复选框 php my sl 从表中过滤条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33627508/