帝国cms结合项显示结果数量的方法

修改步骤:

一:结合项调用函数声明处加上:,$emod_r,$class_r,$empire,$dbtbpre; 引入公共变量

二:增加统计方法代码

以下为用到的代码:

折叠PHP 代码
  1. //修改开始  
  2. $andval=$vtr[1];  
  3. $total=0;  
  4. $mclassid=$classid;  
  5. if(!is_numeric($classid)){  
  6.     $classid = explode(','$classid);  
  7.     $classidArr=array();  
  8.     foreach ($classid as $key1 => $val1) {  
  9.         $intclassid = (int)$val1;  
  10.         if($intclassid){  
  11.             array_push($classidArr,$intclassid);  
  12.         }     
  13.     }  
  14.     $mclassid=$classidArr[0];  
  15.     $classid = join(',',$classidArr);  
  16.   
  17. }  
  18. $mid = $class_r[$mclassid][modid];  
  19. $tbname = $class_r[$mclassid][tbname];  
  20. if(!emptyempty($andval))  
  21. {  
  22.     $andval=RepPostVar2($andval);  
  23.     if(strstr($andval,'__'))  
  24.     {  
  25.         $andbtr=explode('__',$andval);  
  26.         $andbtr[0]=(float)$andbtr[0];  
  27.         $andbtr[1]=(float)$andbtr[1];  
  28.         if($andbtr[0]&&$andbtr[1])  
  29.         {  
  30.             $listandf=$field." BETWEEN '".$andbtr[0]."' and '".$andbtr[1]."'";  
  31.         }  
  32.     }  
  33.     elseif(emptyempty($emod_r[$mid]['setandf']))  
  34.     {  
  35.         $listandf=$field."='".$andval."'";  
  36.     }  
  37.     else  
  38.     {  
  39.         $listandf=$field." like '%".$andval."%'";  
  40.     }  
  41.   
  42.    
  43.         $val = $vtr[1];  
  44.     $total=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_{$tbname} where classid in ($classid) and $listandf");  
  45.     }else{  
  46.   
  47.         $total=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_{$tbname} where classid in ($classid)");  
  48.     }  
  49.     //修改结束  

最终效果如下:

Tags: 结合项
cms大学,为帝国cms用户提供动力
Copyright © 2016 CmsDX.com All Rights Reserved.