Кто может помочь настроить?
Все перебробывал
function ext($text)
{
return mysql_real_escape_string(htmlspecialchars($text));
}
if($_POST['title']!='') $title=ext($_POST['title']); else $title='';
if($_POST['street']!='') $street=ext($_POST['street']); else $street='';
if($_POST['city']!='') $city=ext($_POST['city']); else $city='';
if(isset($_POST['wifi'])) $prefix1='1'; else $prefix1='';
if(isset($_POST['bil'])) $prefix2='1'; else $prefix2='';
if(isset($_POST['sush'])) $prefix3='1'; else $prefix3='';
if(isset($_POST['kal'])) $prefix4='1'; else $prefix4='';
if(isset($_POST['kar'])) $prefix5='1'; else $prefix5='';
if(isset($_POST['nal'])) $prefix6='1'; else $prefix6='';
$db=mysql_query("SELECT *
FROM tb_users
WHERE street_cafe LIKE '$street' or name_cafe LIKE '$title' or city_cafe LIKE '$city' or prefix1 LIKE '$prefix1'
or prefix2 LIKE '$prefix2' or prefix3 LIKE '$prefix3' or prefix4 LIKE '$prefix4' or prefix5 LIKE '$prefix5' or prefix6 LIKE '$prefix6'");
P.s не ищет. Выдает все записи
Спустя 11 минут, 53 секунды (10.08.2012 - 17:55) kamanch написал(а):
Я тебе больше скажу.
Он у тебя ищет только в одном случае, если все поля поиска заполнены.
Ты запрос в браузер выведи, сразу увидишь все.
Заодно и логику условий подправишь.
Он у тебя ищет только в одном случае, если все поля поиска заполнены.
Ты запрос в браузер выведи, сразу увидишь все.
Заодно и логику условий подправишь.
Спустя 1 день, 4 часа, 20 минут, 14 секунд (11.08.2012 - 22:15) jamals написал(а):
А как мне запрос сделать, нормально. Я понимаю. Но я пере пробывал. Не получается нормальный запрос к базе выдать.
Не догоняю, и тут огородами уже хожу 2 день. Я поиск делал токо с одним значением. А тут как я хз
Не догоняю, и тут огородами уже хожу 2 день. Я поиск делал токо с одним значением. А тут как я хз
Спустя 27 минут, 37 секунд (11.08.2012 - 22:43) kamanch написал(а):
Вот ты пишешь :
И далее:
Т.е. если у тебя $_POST['street'] придет пустым, то запрос будте выглядить так:
Значит, тебе нужно в твоих if ... else собирать условие в переменную, которое ты потом подставишь в запросе в WHERE
Типа:
А перед самим запросом проверяешь появилось ли что в $where
Если нет, значит юзер ничего не ввел, то и запрос в базу отправлять смысла нет.
if($_POST['street']!='') $street=ext($_POST['street']); else $street='';
И далее:
SELECT *
FROM tb_users
WHERE street_cafe LIKE '$street' or name_cafe ...
Т.е. если у тебя $_POST['street'] придет пустым, то запрос будте выглядить так:
SELECT *
FROM tb_users
WHERE street_cafe LIKE or name_cafe.....
Значит, тебе нужно в твоих if ... else собирать условие в переменную, которое ты потом подставишь в запросе в WHERE
Типа:
$where = '';
if($street != '') {
$where = "street_cafe LIKE '" . $street . "'";
}
if($title !='') {
if($where != '') {
$where = $where . " or name_cafe LIKE '" . $title . "'";
} else {
$where = "name_cafe LIKE '" . $title . "'";
}
}
// и т.д.
А перед самим запросом проверяешь появилось ли что в $where
Если нет, значит юзер ничего не ввел, то и запрос в базу отправлять смысла нет.
Спустя 11 часов, 35 минут, 35 секунд (12.08.2012 - 10:18) jamals написал(а):
Все тип топ)) Спасибо