php - php 搜索中的 mysql 查询(仅邮政编码的第一部分)

标签 php mysql dictionary

我使用以下查询来显示搜索栏的结果

$query = 
"SELECT * FROM $usertable WHERE 
    ($postcodelist LIKE '%$search%' 
      OR $city LIKE '%$search%') 
    AND $office <> ''  
    GROUP BY $office";

如果我输入 LS19 或利兹,它会向我显示利兹办事处的详细信息,因为我的邮政编码列表最多为 4 位

但是,如果我搜索 LS19 6BR(我的完整邮政编码),它不会显示任何内容,因为这与邮政编码列表根本不匹配。

我需要以某种方式搜索用户输入的部分内容,然后输入邮政编码,而不是当他们输入城市时。

这可能吗?

谢谢

最佳答案

由于 2 个字段有 1 个搜索词,因此这很棘手。我会考虑将其分成 2 个搜索字段。但是,除非我会选择:

$postcodesearch = substr($search,0,4);
$query = 
"SELECT * FROM $usertable WHERE 
   ($postcodelist LIKE '%$postcodesearch%' 
     OR $city LIKE '%$search%') 
   AND $office <> ''  
   GROUP BY $office";

关于php - php 搜索中的 mysql 查询(仅邮政编码的第一部分),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728082/

相关文章:

php - 数据库表中的网站设置

php - 使用ajax处理表单

php - Eloquent,从数据透视表中删除用户权限

c# - Dictionary.Values.ToArray() 的顺序是什么?

c++ - 使用值类在 C++ 中实现 STL 映射

php - 表单输入提交到数据库,但不显示内容

mysql - Bootstrap-vue 模态 : Always Deleting the Last ID

php - searchBar.resignFirstResponder() 导致 nil 值

mysql - 是否有指向 sakila 演示网站的永久链接?

c++ - 根据键字符串使用迭代器更改嵌套映射的 int 值