|
|
|
| Помогите советом, пожалуйста. Как лучше организовать (построить) строку поиска.
Нужно организовать строку с многими "если".
Например:
$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')";
| И так далее...
Скажите, как при меньших затратах сделать компактный запрос. | |
|
|
|
|
|
|
|
для: 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 для разных условий. | |
|
|
|
|
|
|
|
для: slamor
(04.12.2005 в 19:30)
| | Спасибо, все оказалось проще чем я думал. | |
|
|
|