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> <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/fs8978.html
转载随意,但请附上文章地址:-)