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.
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, которые я не знал, что-нибудь как раз для этих целей |
вероятнее всего есть, кури мануал по мускулу