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 );
//....