Забыли пароль?
Запросите новый здесь.

Автор темы: lucky
ID темы: 1834
Информация:
Тема содержит 8 сообщения, была просмотрена 2983 раз.
Просмотр темы
PHP-Fusion Russia » Веб-разработка » MySQL
 Распечатать тему
Как правильно написать запрос на выборку данных
lucky
Здравствуйте,

есть такой запрос:
Загрузить источник  GeSHi: PHP
  1. $query = "SELECT id,title,discription,date
  2. FROM articles
  3. WHERE rubric='1' AND title LIKE '%$s_text%'
  4. OR discription LIKE '%$s_text%' ORDER BY date DESC";
Добавлено за 0.028 секунд, используя GeSHi 1.0.8.10


выборка идёт из таблицы articles где rubric='1', а как сделать тоже самый запрос только чтобы была одновременно выборка rubric='1' и rubric='2' ?

я что-то типа такого написал:
Загрузить источник  GeSHi: PHP
  1. $query = "SELECT id,title,discription,date
  2. FROM articles
  3. WHERE rubric='1' AND rubric='2' AND title LIKE '%$s_text%'
  4. OR discription LIKE '%$s_text%' ORDER BY date DESC";
Добавлено за 0.027 секунд, используя GeSHi 1.0.8.10

не работает)
Изменил(а) lucky, 20.10.2013 12:18
 
Vova
Загрузить источник  GeSHi: MySQL
  1. $query = "SELECT id,title,discription,date
  2. FROM articles
  3. WHERE (rubric='1' OR rubric='2') AND title LIKE '%$s_text%'
  4. OR discription LIKE '%$s_text%' ORDER BY date DESC";
Добавлено за 0.006 секунд, используя GeSHi 1.0.8.10

x1 x1
 
Web
Rush
скобки с or добавь, или IN
x1
 
Web
lucky
Всем огромное спасибо, всё работает ay
 
lucky
внесу небольшие изменения:
Загрузить источник  GeSHi: PHP
  1. $query = "SELECT id,title,discription,date
  2. FROM articles
  3. WHERE title LIKE '%$s_text%'
  4. OR discription LIKE '%$s_text%' AND (rubric='1' OR rubric='2') ORDER BY date DESC";
Добавлено за 0.032 секунд, используя GeSHi 1.0.8.10

вот теперь 100% верно!, сначала LIKE а потом уже ид строки, а если наоборот то выборка по всем идам была :)
 
lucky
что-то с оператором LIKE не чисто, после перезагрузки компа снова выборка стала без учётов условия (rubric='1' OR rubric='2'),

сделал опять как написал Vova выборка стала с учётом идов.. непонятно то работает то нет, а может оператор LIKE вообще игнорит условия и всегда по всей таблице ищет?!
 
Razor
Скачать исходники  Код
     $query = "SELECT id,title,discription,date
    FROM articles
    WHERE title LIKE '%$s_text%'
    OR discription LIKE '%$s_text%' AND rubric IN (1,2) ORDER BY date DESC";



Если правильно понял..
Либо так, в зависимости что хотите получить..
Скачать исходники  Код
$query = "SELECT id,title,discription,date
    FROM articles
    WHERE (title LIKE '%$s_text%'
    OR discription LIKE '%$s_text%') AND rubric IN (1,2) ORDER BY date DESC";






Скобки имеют значение;)
Изменил(а) Razor, 20.10.2013 19:42
x1 x1 x1 x1
 
lucky
Razor, спасибо

скобки это сила df


наверное оператор OR мешал корректно работать, скобки помогли
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как перейти с http на https  →  Вопросы новичков 19 / 19399 17.02.2019 16:11
Сделать ответыт на фриланс биржах на CURL - как?  →  PHP 1 / 283 05.11.2018 12:43
Лендингоподобная главная - как заверстать адаптивно в CSS?  →  Пожелания и предложения 2 / 1673 24.04.2018 13:13
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 747 23.04.2018 17:29
Как защититься от спамеров? капча есть, но она легко вводится  →  Моды 11 / 8520 26.02.2018 19:52
сколько у вас Время загрузки и как оно зависит от хостинга?  →  Пожелания и предложения 9 / 3163 01.02.2018 06:27
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 2 / 4053 22.11.2017 18:20
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 2072 13.11.2017 21:01
Ответственность за нарушения в области персональных данных  →  Безопасность 19 / 10656 11.10.2017 21:04
Посоветуйте как можно больше дешёвых хостингов для лендингов  →  Хостинг 3 / 1963 30.09.2017 18:44
Топ 5 пользователей форума
Alex Alex (1,199)   Zaxap Zaxap (1,089)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)