<input type=text name=cost1>
<input type=text name=cost2>
<input type=text name=kolrooms>
Юзер вводит данные и выполняется запрос!
$query="SELECT `city`,`type`,`about`,`cost` FROM `obzor` WHERE `cost`>=$cost1 AND `cost`<=$cost2 AND `kolrooms`='$kolrooms' ";
все отлично работает!Но если пользователя не интересует точное кол-во комнат(kolrooms) не ужели надо спомощью if кидать на другой запрос который не содеhжит условия `kolrooms`='$kolrooms'. Или есть какой то другой выход?
ps:можно как то зделать что бы если переменая $kolrooms пуста,присвоить ей значение содержащие все варианты типа * (select * from)
Спустя 6 минут, 20 секунд (24.05.2007 - 16:29) md5 написал(а):
это называется не сложный запрос блин а так как сейчас называется
$where = '';
$where .= (empty($_POST['cost1']) и другие проверки) "`cost1`>=" . $_POST['cost1'] : " AND `cost1`>=" . $_POST['cost1'];
$where .= (empty($_POST['cost2']) и другие проверки) "`cost2`<=" . $_POST['cost2'] : " AND `cost2`<=" . $_POST['cost2'];
$where .= (empty($_POST['cost1']) и другие проверки) "`kolrooms`=" . $_POST['kolrooms'] : " AND `kolrooms`=" . $_POST['kolrooms'];
запрос
$query = "
SELECT `field`
FROM `table`
WHERE {$where}
";
$where = '';
$where .= (empty($_POST['cost1']) и другие проверки) "`cost1`>=" . $_POST['cost1'] : " AND `cost1`>=" . $_POST['cost1'];
$where .= (empty($_POST['cost2']) и другие проверки) "`cost2`<=" . $_POST['cost2'] : " AND `cost2`<=" . $_POST['cost2'];
$where .= (empty($_POST['cost1']) и другие проверки) "`kolrooms`=" . $_POST['kolrooms'] : " AND `kolrooms`=" . $_POST['kolrooms'];
запрос
$query = "
SELECT `field`
FROM `table`
WHERE {$where}
";
_____________