За последние 24 часа нас посетили 20213 программистов и 1552 робота. Сейчас ищут 2002 программиста ...

Запрос для поиска

Тема в разделе "PHP и базы данных", создана пользователем allowance, 16 сен 2010.

  1. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    Есть пересенная $city которая получида id товаров конкретного города. Пример $city = 56,66,546,12,13,1003
    Хочу реализовать LIKE '%$search%' поиск по конкретным id товаров.
    Как правильно составить MySQL запрос?

    $res = mysql_query("SELECT id,photo,title,meta FROM tovar WHERE id IN ($city) AND meta LIKE '%$search%' OR title LIKE '%$search%'",$db);

    - так ищет, но не по конкретным товарам а по всем.
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Код (Text):
    1. $query = "SELECT id,photo,title,meta FROM tovar WHERE id IN ($city) AND meta LIKE '%".$search."%' OR title LIKE '%".$search."%'" "
    2.  
    3. $res = mysql_query($query,$db);
    Попробуй так, но я на счет IN не совсем уверен, возможно там кавычки надо...
     
  3. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Код (Text):
    1. $query = "SELECT id,photo,title,meta FROM tovar WHERE id IN ($city) AND meta LIKE '%".$search."%' OR title LIKE '%".$search."%'";
    2.  
    3. $res = mysql_query($query,$db);
    Попробуй так, но я на счет IN не совсем уверен, возможно там кавычки надо...
     
  4. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    tommyangelo
    не, наоборот противопоказаны для IN.
     
  5. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    tommyangelo
    Убрал случайно SELECT в теме :)
    Проблема осталась
     
  6. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    Апельсин
    Попробую яснее выражаться))) Хотел сказать, что возможно кавычки нужны в таком виде - '56','66','546','12','13','1003'

    allowance
    Покажи текст получившегося запроса.
     
  7. allowance

    allowance Активный пользователь

    С нами с:
    19 янв 2010
    Сообщения:
    196
    Симпатии:
    0
    tommyangelo
    Если я ввожу в поисковый запрос, например - test, то выводит все товары где встречается данное слово (в описании или в титле). А должны выводится товары где встречается слово test в конкретных id товаров($city = 56,66,546,12,13,1003)
    Т.е. вывод работает но не так как надо.
     
  8. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    tommyangelo
    Так число же, тем более не нуна там.
     
  9. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    allowance
    Перед $res = mysql_query($query,$db); напиши echo $query; die(); И напиши сюда запрос, который на экран вывелся.
     
  10. runner

    runner Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    а если условие поиска по названию заключить в кавычки:
    PHP:
    1.  
    2. $res = mysql_query("SELECT id,photo,title,meta FROM tovar WHERE id IN ($city) AND (meta LIKE '%$search%' OR title LIKE '%$search%')",$db);
    3.