我有一个ajax系统来过滤客户网站的结果。编辑PHP JSON数组值
我们正在实施“场地类型”过滤器。每个复选框将被命名为:venuetype [typeHere]。
现在显然这将被传递给PHP那样,但我感兴趣的是typeHere部分。
我需要检查venuetype是否在数组中,如果它是然后删除venuetype []和只剩下typeHere。
我的PHP脚本如下:
$select = 'SELECT *';
$from = ' FROM venues';
$where = ' WHERE TRUE';
$opts = isset($_POST['filterOpts'])? $_POST['filterOpts'] : array('');
if (in_array("nocorkage", $opts)){
$where .= " AND nocorkage = 1";
}
if (in_array("hotel", $opts)){
$where .= " AND hotel = 1";
}
if (in_array("selfcatering", $opts)){
$where .= " AND selfcatering = 1";
}
if (in_array("marquees", $opts)){
$where .= " AND marquees = 1";
}
if (in_array("inhousecatering", $opts)){
$where .= " AND inhousecatering = 1";
}
if (in_array("outsidecatering", $opts)){
$where .= " AND outsidecatering = 1";
}
if (in_array("licensed", $opts)){
$where .= " AND licensed = 1";
}
if (in_array("venuetype", $opts)){
// Function to go here
}
$sql = $select . $from . $where;
$statement = $pdo->prepare($sql);
$statement->execute();
while($output = $statement->fetch(PDO::FETCH_ASSOC))
{
$return[]=array('id'=>$output['id'],
'title'=>$output['title'],
'main_image'=>$output['main_image']);
}
$json = json_encode($return);
echo($json);
?>
可能有人给我什么,我需要做的,我想PHP正则表达式的想法......请问这就够了?
不,你不需要正则表达式。 $ opts ['venuetype']应该是一个数组。 – 2014-08-28 12:56:57
而不是使用,并获得数组键(室外),为什么不使用。然后在PHP中,你只需循环遍历$ _POST [“venueType”]数组,这将给你所有的场地类型(typeHere)值。 – jbyrd 2014-08-28 13:01:21