|
|
|
| например есть поиск в базе данных по нескольким полям таблицы с помощью LIKE.
допустим в таблице есть поля name,family, sity по которым осуществляется поиск. пользователь ввёл данные и выбрал логику "или". может ли mysql вернуть названия полей, удовлетворяющих хотя бы одному из заданных критериев? | |
|
|
|
|
|
|
|
для: psychomc
(27.07.2009 в 17:38)
| | Запрос может вернуть признаки. Если соответствующие поисковые выражения поместить в список SELECT. | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2009 в 17:44)
| | напишите поподробнее плиз если можно! | |
|
|
|
|
|
|
|
для: psychomc
(27.07.2009 в 18:27)
| | Как только Вы напишете исходный запрос с LIKE | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2009 в 18:29)
| |
SELECT * FROM `users` WHERE `name` LIKE '%".$name."%' OR `family` LIKE '%".$family."%' OR `city` LIKE '%".$city."%'
|
как-то так.... | |
|
|
|
|
|
|
|
для: psychomc
(27.07.2009 в 18:45)
| |
SELECT *
, `name` LIKE '%".$name."%'
, `family` LIKE '%".$family."%'
, `city` LIKE '%".$city."%'
FROM `users`
WHERE `name` LIKE '%".$name."%'
OR `family` LIKE '%".$family."%'
OR `city` LIKE '%".$city."%'
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.07.2009 в 18:56)
| | запрос выполняется...итоговая выборка правильная. вот только теперь не понимаю как в php получить названия этих полей таблицы :) | |
|
|
|
|
|
|
|
для: psychomc
(28.07.2009 в 10:08)
| | наверно, так примерно:
<?
$sql = "
SELECT *
, `name` LIKE '%".$name."%'
, `family` LIKE '%".$family."%'
, `city` LIKE '%".$city."%'
FROM `users`
WHERE `name` LIKE '%".$name."%'
OR `family` LIKE '%".$family."%'
OR `city` LIKE '%".$city."%'
";
$ms = mysql_query($sql);
$result = mysql_fetch_assoc($ms);
if($result['name'])
echo 'найдено в поле "name". <br />';
if($result['family'])
echo 'найдено в поле "family". <br />';
if($result['city'])
echo 'найдено в поле "city". <br />';
?>
|
p.s. только при таком запросе, Вы не сможете получить содержание этих полей.
если Вам надо содержание полей, можете использовать псевдонимы в запросе. | |
|
|
|
|
|
|
|
для: а-я
(28.07.2009 в 11:54)
| |
SELECT *
, `name` AS `nam` LIKE '%".$name."%'
, `family` AS `fam` LIKE '%".$family."%'
, `city` AS `cit` LIKE '%".$city."%'
FROM `users`
WHERE `name` LIKE '%".$name."%'
OR `family` LIKE '%".$family."%'
OR `city` LIKE '%".$city."%'
|
что-то вроде этого? | |
|
|
|
|
|
|
|
для: psychomc
(28.07.2009 в 12:08)
| |
SELECT *
, `name` LIKE '%".$name."%' AS `nam`
, `family` LIKE '%".$family."%' AS `fam`
, `city`` LIKE '%".$city."%' AS `cit
FROM `users`
WHERE `name` LIKE '%".$name."%'
OR `family` LIKE '%".$family."%'
OR `city` LIKE '%".$city."%'
|
| |
|
|
|
|
|
|
|
для: а-я
(28.07.2009 в 12:23)
| | точно. спасибо за ответ | |
|
|
|