php - 如何通过查询将表单中的多个选中选项匹配到数据库中?

标签 php html sql database html-select

我为我的网站创建了一个商店搜索表单,用户可以在其中选择多个地区。 我想请问一下,当我收到多个选区选项后,如何返回用户选区的搜索结果?

例如用户可以选择 US 和 JP,然后我的结果返回 SHOP in US or JP

search.php

<select name="district" id="district">
<option value='US'>US</option>
<option value='UK'>UK</option>
<option value='JP'>JP</option> ... </select>

结果.php
我知道要选择多个是通过使用:

foreach ($_GET['district'] as $selectedDistrict)
    $district[] = $selectedDistrict;

但是匹配的query怎么写呢?

例如 SELECT * FROM shop WHERE district = '$district'?

最佳答案

使用 IN。

$in='"'.implode('","',$_GET['district']).'"';
$where_part="WHERE district IN($in)"

它将以这样的查询结束:

SELECT * FROM shop WHERE district IN('JP','UK')

关于php - 如何通过查询将表单中的多个选中选项匹配到数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9654301/

相关文章:

php - 如何使用symfony和doctrine处理巨大的选择查询?

javascript - 调整窗口大小后,将父级 (div) 高度更改为其子级 (p) 的大小

javascript - 在悬停上添加边框会导致闪烁

sql - 使用存储过程模拟死锁

sql - 如何连接字符串?

php - Sql – 在列的第一个空单元格中插入值并显示 ID

php - 如何使用装置测试 cake3 插件

sql - 如何在 Oracle Pro*C 中显示包含主机变量值的 SQL 语句?

javascript - XMLHttpRequest 响应类型和 JSON

javascript - 在不同的屏幕尺寸下动态改变另一个 div 的位置