[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кто, что скажет по такому коду поиска по критериям
Oliver Varnce
//создаем массив полей, которые могут использоваться в запросе
$_columns = array();
$_columns["real_code"] = $_POST["real_code"];
$_columns["street"] = $_POST["street"];


foreach ($_columns as $key=>$value)
{
if($value!=0)
{
$count++;
}
}



if($count!=0)
{
//Берем шапочку нашего запроса
$sql10.="SELECT * FROM `realty` ";
$sql10.=' WHERE ';
//этот флаг k для понимания, а последний ли это параметр в запросе или нет
$k=1;
//начинаем перебирать имеющийся массив $arr
foreach ($_columns as $key=>$value)
{
//Если индекс массива не равен 0
if($value!=0)
{
//и если это не последний элемент поиска в запросе
if($k<$count)
{
//то мы выводим название столбца, берем из ассоциативного массива
//плюс его значения + союз AND, т.е. есть еще параметры за ним

$sql10.='$_columns as $key=>$value AND ';
}
//если мы дошли до конца массива, т.е. у нас данный элемент последний
//в поиске, то после него союз AND не ставим и закрываем запрос

if($k==$count)
{
$sql10.="$_columns as $key=>$value";
}
$k++;
}
}
}

else
{
$result='Параметры для поиска не заданы';
}




Спустя 19 часов, 48 минут, 17 секунд (17.06.2011 - 10:46) Oliver Varnce написал(а):
Что, никто не может сказать?

Спустя 58 минут, 18 секунд (17.06.2011 - 11:45) ИНСИ написал(а):
Oliver Varnce ужас :) Как пример, то вот так было бы удобнее и правильней:
$arr = array();
$arr[] = "`real_code` = 'Real Code'";
$arr[] = "`not_real_code` = 'Nor real Code'";

mysql_query("
SELECT *
FROM `realty`
WHERE "
.implode(' AND', $arr)."
"
);

Спустя 3 минуты (17.06.2011 - 11:48) T1grOK написал(а):


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

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