нужно собирать строку запроса SQL из нескольких переменных, как правильно написать данный код $q = mysql_query (" $q .= SELECT * FROM rent WHERE `categ` = 'Lettings' AND `price` BETWEEN $min_week AND $max_week; $q .= ORDER BY `rent`.`id` DESC"); спасибо
PHP: <?php $q = mysql_query ("SELECT * FROM rent WHERE `categ` = 'Lettings' AND `price` BETWEEN '$min_week' AND '$max_week' ORDER BY `rent`.`id` DESC "); ?> Как вариант...
если есть другие варианты - рад выслушать! есть простой поиск, в поиске есть критерий район, если район выбран "любой" тогда не выводить WHERE rajon = centr
Сделай так if(район == любой) { //твой запрос в этом варианте } else { //ну тут тоже что тебе нужно }
alexy, может появится больше опций, слишком много if-ов получиться. хотелось бы if использоваться прямо внутри строки
тогда используй switch, либо if( улсловие ) { //code } elseif ( условие ) { //code } ... else { //code } опиши задачу конкретнее, а то так гадать непонятно о чем...
есть форма поиска, один из пунктов в ней - категория(categ) . Положим есть следующие категории Sales & Lettings . Я написал следующий код: $categ = $_POST[categ]; ... $q = mysql_query ("SELECT * FROM rent WHERE `categ` = $categ ... "); в форме поиска есть в 3 опции - Sales, Lettings и Any Как сделать так, что бы при выборе Any переменная $categ имела значение всего, вобщем выводилось всё. пробывал присвоить "*" ничего не вышло. Решил генерировать строку запроса через if-ы, но не получилось с арфографией (см. 1-й пост)
и не будет. categ like '%' - будет, а = -не будет. Но это все фигня. А не фигня вот что. sql запрос это просто строка. В первом своем сообщении ты был близок к высшей истине. на самом деле это выглядит так: сперва собирается сам sql запрос - обычной конкатенацией. PHP: <? $sql="select * from rent " if ($categ) $sql.="where categ=$categ "; $sql.="order by id ".($order=='desc'?"desc":"asc"); а потом этот запрос отправляется на выполнение: PHP: <? $q = mysql_query ($sql);