[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как узнать с какой таблицей получилось совпадение
Гость_User
Здравствуйте.

SELECT * FROM table WHERE f1 LIKE '%{$q}%' OR f2 LIKE '%{$q}%' LIMIT 10


Далее циклом перебираю каждое из десяти значений.
Как узнать внутри цикла с каким именно полем (f1 или f2) совпало значение $q? В смысле, можно как-то узнать вообще?



Спустя 9 минут, 3 секунды (30.01.2011 - 01:34) Игорь_Vasinsky написал(а):
по ID наверно, которое auto_increment


Спустя 2 минуты, 48 секунд (30.01.2011 - 01:36) Гость_User написал(а):
По какому ID?
f1 и f2 - поля одной таблицы. У каждого из значений массива в цикле будет один и тот же ID.

Спустя 1 минута, 55 секунд (30.01.2011 - 01:38) Игорь_Vasinsky написал(а):
Уточнять надо. Тогда почитайте про имена столбцов. Возможно так.

Цитата
Как узнать с какой таблицей получилось совпадение


а тут вообще пронесколько таблиц

Спустя 4 минуты, 20 секунд (30.01.2011 - 01:43) Гость_User написал(а):
Да, напутал в заголовке.

$sql = mysql_query("
SELECT * FROM table WHERE f1 LIKE '%
{$q}%' OR f2 LIKE '%{$q}%' LIMIT 10

"
);

$response=array();
while($v = mysql_fetch_object($sql)){
$yyy = iconv("CP1251", "UTF-8", $v->f2// нужно, чтобы здесь подставлялось то поле, с которым произошло совпадение);
$str = str_replace ($q, '<span class="highlight">'. $q .'</span>', $yyy);

$response[] = array(
'value'=>$str,
'label'=>$str.' <small>(' . $v->date .')</small>',
'desc'=>$v->some_field
);
}
echo json_encode($response);

Спустя 7 минут, 28 секунд (30.01.2011 - 01:50) Игорь_Vasinsky написал(а):
не сталкивался, но смысл в моих словах есть.

нужно просто уточнить в каком столбце совподение, а потом при простейшем условии подставить имя поля.

Спустя 10 часов, 42 минуты, 50 секунд (30.01.2011 - 12:33) Гость_User написал(а):
К этому варианту и склоняюсь. Я думал, что есть какие-то вещи в SQL, которые я не знал, что-нибудь как раз для этих целей.

Спустя 6 часов, 20 секунд (30.01.2011 - 18:33) Invis1ble написал(а):
Гость_User
Цитата
Я думал, что есть какие-то вещи в SQL, которые я не знал, что-нибудь как раз для этих целей

вероятнее всего есть, кури мануал по мускулу
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.