PHP 搜索表中的不同字段并显示各自的结果

标签 php mysql search select distinct

也许我没有正确思考这一点,但我有一个公司表:

name
address
city
state
zip

我想搜索两个字段,名称和城市。

我的查询是:

SELECT DISTINCT    city, name 
FROM               companies 
WHERE              city 
LIKE               '%$search%' 
OR                 name 
LIKE               '%$search%'

结果代码为:

echo '<a href="city.php?city=' . $results['city'] . '">' 
    . $results['city'] . '</a>';

现在,这只考虑该人搜索城市的情况。如果有人搜索公司名称,如何让它显示页面?像这样的东西:

echo '<a href="company.php?co=' . $results['name'] . '">' 
    . $results['name'] . '</a>';

有没有办法根据他们的搜索内容显示正确的结果?

最佳答案

如果你只有一个搜索框,你如何知道用户正在寻找什么?

您可以添加复选框/单选按钮来提供城市名称之间的选择。

如果您不想这样做,那么您知道用户正在搜索什么。不过,您可以运行两个查询,一个针对city,另一个针对name。如果你得到结果,你至少会知道它们来自哪里。

关于PHP 搜索表中的不同字段并显示各自的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19015596/

相关文章:

php - 我有在 SDK 上运行但不在设备上运行的 Android 数据库应用程序

mysql - Sql 查询查找给定表的子集

javascript - JavaScript 映射 : TryGet wanted 中的双重搜索与未定义

search - 查找 Freebase 对象的所有键/名称?

linux - 在其他文件中查找文件名字符串的所有用法

php - 用PHP在后台调用网页

php - 使用 PHP 按钮删除单独的行/行

php - 数组/对象递归

mysql - mysql 中 AES_ENCRYPT 后无法进行 AES_DECRYPT

php - mysql中的英国日期格式