【问题标题】:Mysql search query matching field nameMysql搜索查询匹配字段名
【发布时间】:2015-07-21 16:48:04
【问题描述】:

我需要帮助在多个字段中进行搜索 mysql 查询,并且我还希望它返回关键字与字段值匹配的字段:

示例:

  $query = mysql_query("SELECT Name, MATCHFIELD FROM `employes` WHERE `Name` LIKE '%$keyword%' || `Prenom` LIKE '%$keyword%' || `Telephone` LIKE '%$keyword%' || `Telephone2` LIKE '%$keyword%'");

while($row = mysql_fetch_array($query)){

 echo $row['name'].':'.$row['MATCHFIELD'];
}

MATCHFIELD 不是我数据库中的字段,它必须是“LIKE”找到某些内容的字段的名称

这应该返回如下内容:“John bishop 332521455”

数字“332521455”可以在任何字段中。

此代码是自动建议脚本的一部分 因此查询必须只返回字段与字段值匹配的行。

【问题讨论】:

标签: mysql search sql-like


【解决方案1】:

我找到了解决办法:

我就是这样做的:

选择 Id,Nom, 案子 WHEN 电话 LIKE '%$keyword%' THEN 电话 WHEN Telephone2 LIKE '%$keyword%' THEN Telephone2 END AS 匹配列 来自员工 WHERE Nom LIKE '%$keyword%' || Prenom LIKE '%$keyword%' || Telephone LIKE '%$keyword%' || Telephone2 LIKE '%$keyword%'

MatchingColumn 是 LIKE 匹配值的字段名称

感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-10
    相关资源
    最近更新 更多