[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск с пустыми полями
Oliver Varnce
Всем привет!
number
Возник вопрос, уточняю я совсем еще в пыхе сырой.


Есть у меня таблица:

id | name | number | logo |

есть форма поиска

Номер ID:
Имя:
номер:

ну и собсно "Поиск"

подскажите знатоки, как мне сформировать код, чтобы при вводе не всех полей осуществлялся поиск, а невведенное поле просто игнорировалось и не выдавало ошибку?
чтото никак не могу сообразить (поскольку недавно только начал програмировать)

желательно по существу постить, с примерами. Буду примного благодарен за помощь.



Спустя 1 минута, 53 секунды (25.05.2011 - 20:19) T1grOK написал(а):
Смотри http://phpforum.ru/index.php?showtopic=45570&hl= я там писал универсальный код.

Спустя 12 часов, 56 минут, 32 секунды (26.05.2011 - 09:16) Oliver Varnce написал(а):
Все это хорошо. Но чтото не срабатывает код, выдает пустоту. Как сформировать с этого кода именно запрос к базе?

Спустя 13 минут, 44 секунды (26.05.2011 - 09:30) Michael написал(а):
Oliver Varnce, показывай как переделал под себя код от T1grOK.

Спустя 18 минут, 41 секунда (26.05.2011 - 09:48) Oliver Varnce написал(а):
<?

//@ $db = mysql_connect("localhost",'root','');
@ $db = mysql_connect("localhost",'root','');
if (!$db) {echo "ERROR: Failed to connect database"; exit;}
mysql_select_db('vip_'.$LANG);
mysql_query('SET NAMES cp1251');

//создаем массив полей, которые могут использоваться в запросе, собственно это и есть основной элемент универсальности
$_columns = array('id'=>'all',
'street'=>NULL,
'price1'=>NULL,
'price2'=>NULL,
'rooms1'=>NULL,
'rooms2'=>NULL,
'floor1'=>NULL,
'floor2'=>NULL,
'date1'=>NULL,
'date2'=>NULL);
$query_filter = '';//кусок запроса с условиями
$query_filter_array = array();
//собственно проверяем отправили ли форму
if ($_POST['submit']){
//смотрим что у нас пришло с поста
foreach($_columns as $key=>$value){
if(isset($_POST[$key])){
$query_filter_array[] = '`'.$_POST[$key]. '` LIKE \''.$_POST[$key].'\'';
}
}
}

//проверяем было ли что-то заполнено
//если да то разбираем массив

if(!empty($query_filter_array)){
$query_filter = " WHERE ".implode(' AND ', $query_filter_array);
}

//дальше собираем весь запрос и выполняем
$Query = mysql_query($tQuery.$query_filter);

if (!$db) {
echo "Error: couldnt connect";
exit;
}

echo "найдено: $Query";

?>

Спустя 42 секунды (26.05.2011 - 09:49) Oliver Varnce написал(а):
пытаюсь запустить листинг только по одному запросу id

Спустя 44 секунды (26.05.2011 - 09:50) linker написал(а):


_____________
мой хостинг - GlobalNET.com.ua
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.