我需要帮助在多个字段中进行搜索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“可以出现在任何字段中。
这段代码是autosuggest脚本的一部分,因此查询必须只返回字段与字段值匹配的行。
发布于 2015-07-22 03:49:45
我找到了一个解决方案:
我是这样做的:
选择Id,Nom,CASE WHEN WHERE '%$keyword%‘然后当Telephone2 LIKE '%$keyword%’时选择电话,然后Telephone2 END AS MatchingColumn FROM employes Nom LIKE '%$keyword%‘|| Prenom LIKE '%$keyword%’|| Telephone LIKE '%$keyword%‘|| Telephone2 LIKE '%$keyword%’
MatchingColumn是与LIKE匹配的值的字段名称
谢谢你的帮助
https://stackoverflow.com/questions/31545008
复制相似问题