2012-05-27 5 views
1

Я пытаюсь выполнить поиск по сайту недвижимости, над которым я работаю. В базе данных типы свойств называются номерами идентификаторов, то есть: house = 30, flat = 8, terraced = 1 и т. Д.Выберите несколько массивов из mysql

Как я могу получить ВСЕ свойства из базы данных, когда некоторые из них являются отдельными домами со значением 2 и домов значение 30 и т.д. :) Это заставило меня stuck..lol Вот что я до сих пор, не работает ...

$bedrooms = $_GET['bedrooms']; 
$pricefrom = $_GET['pricefrom']; 
$priceto = $_GET['priceto']; 
$proptype = $_GET['proptype']; 

if($proptype == 'house'){ 
$search_propsubid = array('1,2,3,4,5,6,21,22,23,24,26,27,30'); 
}elseif($proptype == 'flat'){ 
$search_propsubid = array('7,8,9,10,11,28,29,44'); 
}elseif($proptype == 'bungalow'){ 
$search_propsubid = array(''); 
} 


$sql = mysql_query("SELECT * FROM `properties` WHERE `PROP_SUB_ID`='$search_propsubid' AND `BEDROOMS`='$bedrooms' AND `TRANS_TYPE_ID`='1' HAVING `PRICE` BETWEEN '$pricefrom' AND '$priceto' ORDER BY `UPDATE_DATE` DESC"); 

Спасибо за ваше время я надеюсь, кто-то может указать мне в правильном направлении. С уважением Steve

ответ

1

Вы можете попробовать implode массива:

$search_propsubid = array('1,2,3,4,5,6,21,22,23,24,26,27,30'); 
$comma_separated = implode(",", $search_propsubid); 
$sql = mysql_query("SELECT * FROM `properties` WHERE `PROP_SUB_ID` in ($comma_separated) ... 

Comme назад с новостями, если это сделать не работает для вас.

+0

Спасибо вам большое: D Works удовольствие, так благодарен !! – Steve

+0

@ danihp, + 'd, я не хочу быть в перестрелке с вами;) – Zuul

1

Вы можете использовать оператор MySql IN() сравнения, чтобы выбрать все, что совпадает со списком значений:

$sql = mysql_query(" 
    SELECT * 
    FROM `properties` 
    WHERE `PROP_SUB_ID` IN (" .implode(",", $search_propsubid). ") 
    AND `BEDROOMS`='$bedrooms' 
    AND `TRANS_TYPE_ID`='1' 
    HAVING `PRICE` BETWEEN '$pricefrom' AND '$priceto' 
    ORDER BY `UPDATE_DATE` DESC 
"); 

Допуская $proptype == 'flat', то выход будет:

SELECT * 
FROM `properties` 
WHERE `PROP_SUB_ID` IN (7,8,9,10,11,28,29,44) 
... 
+0

Привет, спасибо за ваш ответ, я очень благодарен, что вы нашли время, чтобы предложить свою помощь :) Ваш ответ очень схожий по своей природе с первым, который отлично работал для меня. Спасибо за ваше время :) – Steve

+0

Steve, Yap Я видел @danihp ответ, когда я закончил публикацию своего ответа ... получение правильных ссылок и запуск теста занимает некоторое время :) Рад, что ваша проблема решена! – Zuul

+0

хорошо объяснил ответ – danihp

Смежные вопросы