2015-07-21 3 views
1

Мне нужна помощь сделать запрос поиска MySQL в нескольких областях, и я также хочу, чтобы вернуть поле (я), где совпадение ключевых слов со значением поля: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» нашли что-то

это должно вернуть что-то вроде этого: «Джон епископ 332521455»

номер "332521455" может быть в любом поле.

Этот код является частью сценария autosuggest , поэтому запрос должен возвращать только строки, где поле соответствует значению поля.

Спасибо заранее

С уважением

+0

возможно дубликат [Получить сопоставления столбца и его значение MySQL] (HTTP: //stackoverflow.com/questions/24370706/get-matching-column-its-value-mysql) – CBroe

+0

Спасибо за комментарий, но в этом примере нет предложения «WHERE», мне нужны только строки, в которых поле соответствует ключевое слово – laho

ответ

1

я нашел решение:

это, как я сделал:

ВЫБРАТЬ Id, Nom, СЛУЧАЙ КОГДА телефон Электронная LIKE «% $ keyword% 'THEN Телефон КОГДА Telephone2 LIKE'% $ keyword% 'THEN Telephone2 END AS MatchingColumn ОТ использует WHERE Nom LIKE '% $ keyword%' || Prenom LIKE '% $ keyword%' || Telephone LIKE '% $ keyword%' || Telephone2 LIKE «% $ ключевое слово%»

MatchingColumn это имя поля со значением, где LIKE вышлет

Спасибо за помощь