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

修改步骤:

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

二:增加统计方法代码

以下为用到的代码:

  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. $mid = $class_r[$mclassid][modid];
  18. $tbname = $class_r[$mclassid][tbname];
  19. if(!emptyempty($andval))
  20. {
  21.     $andval=RepPostVar2($andval);
  22.     if(strstr($andval,'__'))
  23.     {
  24.         $andbtr=explode('__',$andval);
  25.         $andbtr[0]=(float)$andbtr[0];
  26.         $andbtr[1]=(float)$andbtr[1];
  27.         if($andbtr[0]&&$andbtr[1])
  28.         {
  29.             $listandf=$field." BETWEEN '".$andbtr[0]."' and '".$andbtr[1]."'";
  30.         }
  31.     }
  32.     elseif(emptyempty($emod_r[$mid]['setandf']))
  33.     {
  34.         $listandf=$field."='".$andval."'";
  35.     }
  36.     else
  37.     {
  38.         $listandf=$field." like '%".$andval."%'";
  39.     }
  40.         $val = $vtr[1];
  41.     $total=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_{$tbname} where classid in ($classid) and $listandf");
  42.     }else{
  43.         $total=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_{$tbname} where classid in ($classid)");
  44.     }
  45.     //修改结束

最终效果如下:

THE END