Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 生成搜索表单选择选项下拉列表的数组_Php_Html_Arrays_Wordpress_Wordpress Theming - Fatal编程技术网

Php 生成搜索表单选择选项下拉列表的数组

Php 生成搜索表单选择选项下拉列表的数组,php,html,arrays,wordpress,wordpress-theming,Php,Html,Arrays,Wordpress,Wordpress Theming,我想在相同的选择选项下拉列表中创建价格范围过滤器下拉列表 例如: 选择价格 $500-1000 $1000-1500 $1500-2000 $2000-2500 $2500-3000 源数组对我来说很独特,但我认为这会生成您想要的菜单 $filterPrice = array( 'maximum_price' => array('1000','1500','2000','2500','3000'), 'minimum_price' => array('500'

我想在相同的选择选项下拉列表中创建价格范围过滤器下拉列表 例如:


选择价格
$500-1000
$1000-1500
$1500-2000
$2000-2500
$2500-3000

源数组对我来说很独特,但我认为这会生成您想要的菜单

$filterPrice = array(
    'maximum_price' =>  array('1000','1500','2000','2500','3000'),
    'minimum_price' =>  array('500','1000','1500','2000','2500')
);

$maxprices=$filterPrice['maximum_price'];
$minprices=$filterPrice['minimum_price'];

$html=array('<select name="price" class="filterSelectBox">');
foreach( $maxprices as $index => $max ){
    $min = $minprices[ $index ];
    $value = $min . '-' . $max;
    $html[]="<option value='{$value}'>{$value}";
}
$html[]='</select>';


echo implode( PHP_EOL, $html );
然后添加了这样一个简单的javascript函数

$html[]="
<script type='text/javascript'>
    document.querySelectorAll('select[name=\"price\"]')[0].addEventListener('change',function(e){
        var selected=e.target.options[ e.target.options.selectedIndex ];
        console.info( 'use these values for filtering: %s, %s', selected.dataset.min, selected.dataset.max );
    },false);
</script>";
$html[]=”
document.querySelectorAll('select[name=\'price\']')[0]。addEventListener('change',function(e){
选择的var=e.target.options[e.target.options.selectedIndex];
console.info('使用这些值进行筛选:%s,%s',selected.dataset.min,selected.dataset.max);
},假);
";
单个最小值和最大值可通过数据集属性获得。希望这有点帮助。

这部分很奇怪:

 $filterPrice = array(
    array(
      'maximum_price' => '1000','1500','2000','2500','3000',
      'minimum_price'=> '500','1000','1500','2000','2500',
  ));
将其更改为:

 $filterPrice = array(
      'maximum_price' => array('1000','1500','2000','2500','3000'),
      'minimum_price' => array('500','1000','1500','2000','2500'),
 );

//.....
foreach($filterPrice['maximum_price'] as $index=>$max_price){
    $min_price = $filterPrice['minimum_price'][$index];
    echo "<option value=".$min_price.'-'.$max_price.">".$min_price.'-'.$max_price."</option>";
}
//....
$filterPrice=array(
“最高价格”=>数组('1000'、'1500'、'2000'、'2500'、'3000'),
“最低价格”=>数组('500'、'1000'、'1500'、'2000'、'2500'),
);
//.....
foreach($filterPrice['maximum_price']作为$index=>$maxim_price){
$min_价格=$filterPrice['min_价格][$index];
回音“$min_price.”-“$max_price.”;
}
//....
提交后:

//... 
$filter = $_POST['price']; 
list($price_from,$price_to) = explode('-',$filter);
//... using $price_from & $price_to for filtering
//... 
$args = array(
   'meta_query' => array(
        'key'     => 'price', // <- meta_key name for prices
        'value'   => array( $price_from, $price_to ),
        'type'    => 'numeric',
        'compare' => 'BETWEEN',
    ),
   // ... others query-params
);  

$q = new WP_Query( $args );
//.... 
/。。。
$filter=$_POST['price'];
列表($price_from,$price_to)=分解('-',$filter);
//... 使用$price\u from和$price\u to进行筛选
//... 
$args=数组(
“元查询”=>数组(
'key'=>'price',//数组($price\u-from,$price\u-to),
'类型'=>'数值',
'比较'=>'之间的',
),
//…其他查询参数
);  
$q=新的WP\U查询($args);
//.... 

阅读更多关于

我想为wordpress创建元查询,在同一下拉列表中包含最低和最高价格,而不是为最低和最高价格创建单独的下拉列表。有没有其他方法可以做到这一点??我想在相同的选择选项中列出价格范围,而不是不同的下拉列表。我想得到$minprice和$maxprice的值,这样我就可以在主题内使用比较元查询了。您是否使用
WP
?好的,假装我已经回答了(或者@RamRaider)。然后使用
WP\u Query
@Suraz Bhandari UpdatedThank You!!完美它就像一个符咒:)@Suraz Bhandari Ok,greate^)P.S.别忘了批准答案。我想为wordpress创建元查询,在同一下拉列表中包含最低和最高价格,而不是为最低和最高价格创建单独的下拉列表。有没有其他方法可以做到这一点??我想在相同的选择选项中列出价格范围,而不是不同的下拉列表。我想得到$minprice和$maxprice的值,这样我就可以在主题内使用比较元查询。
//... 
$filter = $_POST['price']; 
list($price_from,$price_to) = explode('-',$filter);
//... using $price_from & $price_to for filtering
//... 
$args = array(
   'meta_query' => array(
        'key'     => 'price', // <- meta_key name for prices
        'value'   => array( $price_from, $price_to ),
        'type'    => 'numeric',
        'compare' => 'BETWEEN',
    ),
   // ... others query-params
);  

$q = new WP_Query( $args );
//....