首页 > php开发 > php实现多级分类筛选程序代码

php实现多级分类筛选程序代码

现在这种多选择功能在很多网站都有,如现在很多电商网站都有N个条件选择了,下面小编为各位介绍一个简单的多级分类筛选实现方法。

主要注意这边有一个 $$这是变量的变量。 以后估计会常用这个做开发。

<?php
$conditions = array('price','color','metal');//要进行筛选的字段放在这里
$price = $color = $metal='';//先给需要筛选的字段赋空值,这些值将输出到页面的hidden fileds 中
//以下循环给已经进行的筛选赋值,以便能够在下一次筛选中保留
foreach($conditions as $value){
    if(isset($_GET[$value])){ 
        $$value = $_GET[$value];
    }
}
//以下是演示输出$_GET数据
echo '<pre>';
print_r($_GET);
echo '</pre>';
?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>分类筛选演示</title>
<style type="text/css">
body{font-size:14px;font-family:Tahoma,"宋体"}
</style>
<script type="text/javascript">
function Filter(a,b){
    var $ = function(e){return document.getElementById(e);}
    var ipts = $('filterForm').getElementsByTagName('input'),result=[];
    for(var i=0,l=ipts.length;i<l;i++){
        if(ipts[i].getAttribute('to')=='filter'){
           result.push(ipts[i]);
       }
    }
   if($(a)){
        $(a).value = b;
        for(var j=0,len=result.length;j<len;j++){
           if(result[j].value==''){
               result[j].parentNode.removeChild(result[j]);
           }
       }
        document.forms['filterForm'].submit();
    }
    return false;
}
</script>
</head>
<body>
<form id="filterForm" action="test.php" method="get">
<!--
form的id 要和程序里统一
为避免与其他使用的隐藏域冲突,添加了to属性
以下是筛选字段隐藏域
需要筛选的隐藏域需要加 to 属性
-->
<input to="filter" type="hidden" id="price" name="price" value="<?=$price?>" />
<input to="filter" type="hidden" id="color" name="color" value="<?=$color?>" />
<input to="filter" type="hidden" id="metal" name="metal" value="<?=$metal?>" />
</form>
<!--
要筛选的属性可以由程序生成,注意规律!
-->
价格:<a href="javascript:Filter('price','');">不限</a>
<a href="javascript:Filter('price','100-1000');">100-1000</a>
      <a href="javascript:Filter('price','1001-2000');">1001-2000</a>
     <a href="javascript:Filter('price','2001-3000');">2001-3000</a><br/>
颜色:<a href="javascript:Filter('color','红色');">红色</a>
      <a href="javascript:Filter('color','蓝色');">蓝色</a><br />
材质:<a href="javascript:Filter('metal','纯金');">纯金</a>
      <a href="javascript:Filter('metal','纯银');">纯银</a><br />
</body>
</html>


本文地址:http://www.phprm.com/develop/72025.html

转载随意,但请附上文章地址:-)

标签:foreach

相关文章

发表留言