SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 16.02.2013 03:53:31

cro
Участник
Зарегистрирован: 15.02.2013
Сообщений: 13

Вывод данных с фильтрацией

Здравствуйте!
Предположим что есть таблица table с полями orientation, category, title(на скрине поле keywords)

Как сформировать запросы что была фильтрация по этим параметрам?
http://s11.postimage.org/qgtevo6oz/Capture.png
Спасибо!

Неактивен

 

#2 16.02.2013 08:33:42

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Вывод данных с фильтрацией

SELECT * FROM `table` WHERE `Orientation` = 'Horizontal', `Category` = 'ВЫБРАННАЯ_КАТЕГОРИЯ_ИЗ_СПИСКА' AND `Exclude_KeyWORDS` NO IN ('Первое слово из Exclude keyWords','Второе Слово из Exclude keyWords');


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 16.02.2013 14:39:22

cro
Участник
Зарегистрирован: 15.02.2013
Сообщений: 13

Re: Вывод данных с фильтрацией

Спасибо, работает. Единственное чего не могу понять - как не учитывать фильтр если он не выбран в селекте -Any Category.

Неактивен

 

#4 16.02.2013 17:24:15

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Вывод данных с фильтрацией

Так же, как я в Вашем же топике отвечал - собирайте строку запроса по частям, в зависимости от того, какие условия заданы.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#5 16.02.2013 18:10:27

cro
Участник
Зарегистрирован: 15.02.2013
Сообщений: 13

Re: Вывод данных с фильтрацией

Собираю, но не получается. (

$q1 = "SELECT * FROM `main_data` WHERE TRUE ";
if ( isset($_POST['orient']) ) {
  $q1 .= " AND `Orient` = '$_POST[orient]'";
}
if ( isset($_POST['categor']) ) {
  $q1 .= " AND `Categor` = '$_POST[categor]'";
}
 

Как сделать если выбран чекбокс Vertcal но не выбрана категория выводились все категории со строкой Vertcal.
Совсем запутался(

Отредактированно cro (16.02.2013 18:14:56)

Неактивен

 

#6 16.02.2013 18:42:49

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Вывод данных с фильтрацией

Запрос выглядел бы так
$q1 = "SELECT * FROM `main_data` WHERE category='vertical'";
Вопросами написания php-кода на этом форуме не занимаются, так что затрудняюсь подсказать.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson