当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 16:15:46 浏览: 评论:0 

现在这种多选择功能在很多网站都有,如现在很多电商网站都有N个条件选择了,下面小编为各位介绍一个简单的多级分类筛选实现方法,主要注意这边有一个 $$这是变量的变量,以后估计会常用这个做开发,代码如下:

  1. <?php 
  2.   
  3. $conditions = array('price','color','metal');//要进行筛选的字段放在这里 
  4.   
  5. $price = $color = $metal='';//先给需要筛选的字段赋空值,这些值将输出到页面的hidden fileds 中 
  6.   
  7. //以下循环给已经进行的筛选赋值,以便能够在下一次筛选中保留 
  8.   
  9. foreach($conditions as $value){ 
  10.   
  11.     if(isset($_GET[$value])){  
  12.         $$value = $_GET[$value]; 
  13.     } 
  14.   
  15.   
  16. //以下是演示输出$_GET数据 
  17.   
  18. echo '<pre>'
  19.   
  20. print_r($_GET); 
  21.   
  22. echo '</pre>'
  23.   
  24. ?> 
  25.   
  26. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
  27.   
  28. <html xmlns="http://www.w3.org/1999/xhtml"
  29.   
  30. <head> 
  31.   
  32. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  33.   
  34. <title>分类筛选演示</title> 
  35.   
  36. <style type="text/css"
  37.   
  38. body{font-size:14px;font-family:Tahoma,"宋体"
  39.   
  40. </style> 
  41.  //开源软件:phpfensi.com 
  42. <script type="text/javascript"
  43.   
  44. function Filter(a,b){ 
  45.   
  46.     var $ = function(e){return document.getElementById(e);} 
  47.   
  48.     var ipts = $('filterForm').getElementsByTagName('input'),result=[]; 
  49.   
  50.     for(var i=0,l=ipts.length;i<l;i++){ 
  51.   
  52.         if(ipts[i].getAttribute('to')=='filter'){ 
  53.   
  54.            result.push(ipts[i]); 
  55.   
  56.        } 
  57.   
  58.     } 
  59.   
  60.    if($(a)){ 
  61.   
  62.         $(a).value = b; 
  63.   
  64.         for(var j=0,len=result.length;j<len;j++){ 
  65.   
  66.            if(result[j].value==''){ 
  67.   
  68.                result[j].parentNode.removeChild(result[j]); 
  69.   
  70.            } 
  71.   
  72.        } 
  73.   
  74.         document.forms['filterForm'].submit(); 
  75.   
  76.     } 
  77.   
  78.     return false; 
  79.   
  80.   
  81. </script> 
  82.   
  83. </head> 
  84.   
  85. <body> 
  86.   
  87. <form id="filterForm" action="test.php" method="get"
  88.   
  89. <!-- 
  90.   
  91. form的id 要和程序里统一 
  92.   
  93. 为避免与其他使用的隐藏域冲突,添加了to属性 
  94.   
  95. 以下是筛选字段隐藏域 
  96.   
  97. 需要筛选的隐藏域需要加 to 属性 
  98.   
  99. --> 
  100.   
  101. <input to="filter" type="hidden" id="price" name="price" value="<?=$price?>" /> 
  102.   
  103. <input to="filter" type="hidden" id="color" name="color" value="<?=$color?>" /> 
  104.   
  105. <input to="filter" type="hidden" id="metal" name="metal" value="<?=$metal?>" /> 
  106.   
  107. </form> 
  108.   
  109. <!-- 
  110.   
  111. 要筛选的属性可以由程序生成,注意规律! 
  112.   
  113. --> 
  114.   
  115. 价格:<a href="javascript:Filter('price','');">不限</a> 
  116. <a href="javascript:Filter('price','100-1000');">100-1000</a> 
  117.   
  118.       <a href="javascript:Filter('price','1001-2000');">1001-2000</a> 
  119.   
  120.      <a href="javascript:Filter('price','2001-3000');">2001-3000</a><br/> 
  121.   
  122. 颜色:<a href="javascript:Filter('color','红色');">红色</a> 
  123.   
  124.       <a href="javascript:Filter('color','蓝色');">蓝色</a><br /> 
  125.   
  126. 材质:<a href="javascript:Filter('metal','纯金');">纯金</a> 
  127.   
  128.       <a href="javascript:Filter('metal','纯银');">纯银</a><br /> 
  129.   
  130. </body> 
  131.   
  132. </html>

Tags: php多级分类 php分类筛选

分享到: