Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формирование запроса через формы, Формирование запроса через формы 
:(
    Опции темы
kukich
Дата 20.9.2010, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 2.12.2009

Репутация: нет
Всего: нет



Здравствуйте.
На странице существует форма из 8 параметров,каждый из которых вводится в текстовое поле.в зависимости от того,были ли введены в поля данные ,надо сформировать SQL запрос .Т.Е. если введены 4 параметра ,то в запросе должно быть 4 этих параметра для поиска.
Я пытался сделать все через 1 большой запрос,где  невведенным параметрам давал значение % .
Пример: в форме ввели только цену ,получилось что то типа select * from table where  and price like 200 and color like %(т.е. любой цвет) and .....; и так по всем параметрам. Но поскольку у некоторых параметров может быть значение NULL ,такой вариант не прокатил.

Хотелось бы узнать как можно формировать запрос в процессе программы,т.е. в случае если ,например,цвет не ноль ,добавлялось бы к первоначальному скелету запроса строчка (and color="red")? Заранее спасибо.
PM MAIL   Вверх
shamber
Дата 20.9.2010, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



join или .= ?


Код

my $sql = "select * from table where  and price like 200"
if($color){
$sql .= "and color="."\"red\"";
}


Это сообщение отредактировал(а) shamber - 20.9.2010, 16:25
PM MAIL Jabber   Вверх
Jimy
Дата 20.9.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 4.7.2010

Репутация: нет
Всего: 3



Цитата

Код

if($color){
$sql .= "and color="."\"red\"";
}



Наверное, так:
Код

if($color){
$sql .= " and color=".$dbh->quote($color);
}


Это сообщение отредактировал(а) Jimy - 20.9.2010, 18:17
PM   Вверх
kukich
Дата 21.9.2010, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 2.12.2009

Репутация: нет
Всего: нет



Большое Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.