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

Автор темы: lucky
ID темы: 1834
Информация:
Тема содержит 8 сообщения, была просмотрена 2944 раз.
Просмотр темы
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.029 секунд, используя 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.026 секунд, используя 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.030 секунд, используя 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:

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Как принимать Биткоины в OpenCart 3.x, 2.3 и OcStore?  →  Реклама на портале 0 / 5 24.09.2018 19:19
Лендингоподобная главная - как заверстать адаптивно в CSS?  →  Пожелания и предложения 2 / 1062 24.04.2018 13:13
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 471 23.04.2018 17:29
Как защититься от спамеров? капча есть, но она легко вводится  →  Моды 11 / 7854 26.02.2018 19:52
сколько у вас Время загрузки и как оно зависит от хостинга?  →  Пожелания и предложения 9 / 2837 01.02.2018 06:27
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 2 / 3597 22.11.2017 18:20
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 1873 13.11.2017 21:01
Ответственность за нарушения в области персональных данных  →  Безопасность 19 / 9640 11.10.2017 21:04
Посоветуйте как можно больше дешёвых хостингов для лендингов  →  Хостинг 3 / 1755 30.09.2017 18:44
как прикрепить скрипт к сайту  →  Хаки/скрипты 1 / 3322 17.08.2017 10:46
Топ 5 пользователей форума
Alex Alex (1,196)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)