首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从mysql中选择多个阵列

问从mysql中选择多个阵列
EN

Stack Overflow用户
提问于 2012-05-27 09:26:42
回答 2查看 263关注 0票数 1

我正在搜索一个我正在为朋友工作的房产网站。在数据库中,属性类型由id编号命名,例如: house = 30,flat = 8,terraced =1,依此类推。

我如何从数据库中检索所有的属性,当一些独立的房子的值是2,房子的值是30等等:)它得到了我的stuck..lol,这是我到目前为止没有工作的…

代码语言:javascript
复制
$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致敬

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-27 09:31:17

你可以尝试implode数组:

代码语言:javascript
复制
$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) ...

如果这对你不起作用,请告诉我消息。

票数 1
EN

Stack Overflow用户

发布于 2012-05-27 09:33:56

您可以使用MySql IN()比较运算符选择所有与值列表匹配的值:

代码语言:javascript
复制
$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',则输出将为:

代码语言:javascript
复制
SELECT *
FROM `properties` 
WHERE `PROP_SUB_ID` IN (7,8,9,10,11,28,29,44) 
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10771008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档