Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите создать компактный запрос
 
 автор: Killer   (04.12.2005 в 19:15)   письмо автору
 
 

Помогите советом, пожалуйста. Как лучше организовать (построить) строку поиска.
Нужно организовать строку с многими "если".
Например:

 $query = "SELECT * FROM message
            WHERE hide='show'&&razdel='$razdel'&& city='$city'&&MATCH (msg) AGAINST ('$line_request')";

$razdel-разделы,$city-города,msg-объявления

Нужно менять строку WHERE в зависимости от условий.
if $razdel=0 то строка будет такой

WHERE hide='show'&& city='$city'&&MATCH (msg) AGAINST ('$line_request')";(
т.е. искать во всех разделах)
if $city='' то

WHERE hide='show'&&razdel='$razdel'&&MATCH (msg) AGAINST ('$line_request')";(
т.е. иcкать во всех городах)
if $Line_request='' то

WHERE hide='show'&&razdel='$razdel'&& city='$city';

if $city='' and $razdel=0 то

WHERE hide='show'&&MATCH (msg) AGAINST ('$line_request')";
И так далее...

Скажите, как при меньших затратах сделать компактный запрос.

   
 
 автор: slamor   (04.12.2005 в 19:30)   письмо автору
 
   для: Killer   (04.12.2005 в 19:15)
 

Можно менять строку WHERE в зависимости от условий например так:


$query = "SELECT * FROM message WHERE 1";
    if ($razdel!=0) $query .= " AND razdel='$razdel'";
    if ($city!='') $query .= " AND city='$city'";
    if ($Line_request!='') $query .= " AND Line_request='$Line_request'";


ну и так составлять $query для разных условий.

   
 
 автор: Killer   (04.12.2005 в 23:29)   письмо автору
 
   для: slamor   (04.12.2005 в 19:30)
 

Спасибо, все оказалось проще чем я думал.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования