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

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

Перейти на форум:
Похожие темы
Темы Форум Ответов / Просмотров Последние сообщения
Лендингоподобная главная - как заверстать адаптивно в CSS?  →  Пожелания и предложения 2 / 183 24.04.2018 13:13
Как найти в БД для панели "похожие статьи, новости, темы"?  →  Пожелания и предложения 0 / 59 23.04.2018 17:29
Как защититься от спамеров? капча есть, но она легко вводится  →  Моды 11 / 4376 26.02.2018 19:52
сколько у вас Время загрузки и как оно зависит от хостинга?  →  Пожелания и предложения 9 / 1741 01.02.2018 06:27
Как правильно сделать ЧПУ и переиндексировать сайт?  →  Моды 2 / 2585 22.11.2017 18:20
Посоветуйте JS-слайдер чтобы фотки JPG сменялись как в GIF-анимации  →  Плагины 2 / 1284 13.11.2017 21:01
Ответственность за нарушения в области персональных данных  →  Безопасность 19 / 7558 11.10.2017 21:04
Посоветуйте как можно больше дешёвых хостингов для лендингов  →  Хостинг 3 / 1282 30.09.2017 18:44
как прикрепить скрипт к сайту  →  Хаки/скрипты 1 / 2575 17.08.2017 10:46
Как правильно подсчитать рейтинг статьи?  →  Хаки/скрипты 3 / 1660 09.08.2017 22:27
Топ 5 пользователей форума
Alex Alex (1,181)   Zaxap Zaxap (1,078)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)