帝国cms开启结合项字段支持部分字段模糊搜索

ECMSPLUS | 2021-08-18 |

摘要:修改方式是: 打开 e\action\ListInfo.php找到 $doandor=empty($listandf)?'':' '.$andor.' '; 在下面加 if($andr[$i]=="sexi"){ //这里的sexi改...

修改方式是:3WIECMSPLUS

 3WIECMSPLUS

打开 e\action\ListInfo.php3WIECMSPLUS

找到3WIECMSPLUS

 3WIECMSPLUS

$doandor=empty($listandf)?'':' '.$andor.' ';3WIECMSPLUS

 3WIECMSPLUS

在下面加3WIECMSPLUS

 3WIECMSPLUS

 3WIECMSPLUS

if($andr[$i]=="sexi"){ //这里的sexi改为字段名3WIECMSPLUS

                $listandf.=$doandor.$andr[$i]." like '%".$andval."%'";3WIECMSPLUS

} else {3WIECMSPLUS

 3WIECMSPLUS

然后继续找到3WIECMSPLUS

 3WIECMSPLUS

$search.="&".$andr[$i]."=$andval";3WIECMSPLUS

 3WIECMSPLUS

在上面加 3WIECMSPLUS

 3WIECMSPLUS

}3WIECMSPLUS

 3WIECMSPLUS

即可! 如果你后台这个字段是复选框字段 那就把里面的 3WIECMSPLUS

$listandf.=$doandor.$andr[$i]." like '%".$andval."%'";3WIECMSPLUS

改为3WIECMSPLUS

$listandf.=$doandor.$andr[$i]." like '%|".$andval."|%'";3WIECMSPLUS

如下示例代码:

<?php
require('../class/connect.php');
require('../class/db_sql.php');
require('../class/functions.php');
require('../class/t_functions.php');
require('../data/dbcache/class.php');
require LoadLang('pub/fun.php');
$link=db_connect();
$empire=new mysqlquery();
eCheckCloseMods('fieldand');//关闭模块
$tbname='';
$add='';
$addorder='newstime desc';
$search='';
$GLOBALS['navclassid']=0;
$yhid=0;
$yhvar='qlist';
//模型ID
$mid=(int)$_GET['mid'];
if($mid)
{
        $tbname=$emod_r[$mid]['tbname'];
        if(empty($tbname))
        {
                printerror('ErrorUrl','',1);
        }
        $search.='&mid='.$mid;
        $yhid=$etable_r[$tbname][yhid];
}
$pagetitle=$public_r['sitename'];
$pagekey=$public_r['sitename'];
$pagedes=$public_r['sitename'];
$classimg=$public_r[newsurl].'app/data/images/notimg.gif';
$url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a>&nbsp;>&nbsp;".$fun_r['infolist'];
$pageecms=1;
$pageclassid=0;
$have_class=1;
//栏目
$trueclassid=0;
$classid=$_GET['classid'];
if($classid)
{
        $classid=RepPostVar($classid);
        if(strstr($classid,','))//多栏目
        {
                $son_r=sys_ReturnMoreClass($classid,1);
                $trueclassid=$son_r[0];
                $add.=' and ('.$son_r[1].')';
        }
        else
        {
                $trueclassid=intval($classid);
                if($class_r[$trueclassid][islast])//终极栏目
                {
                        $add.=" and classid='$trueclassid'";
                        $have_class=0;
                }
                else
                {
                        $add.=' and '.ReturnClass($class_r[$trueclassid][sonclass]);
                }
                $cr=$empire->fetch1("select classpagekey,intro,classimg,cgroupid from {$dbtbpre}enewsclass where classid='$trueclassid'");
                //权限
                if($cr['cgroupid'])
                {
                        $mgroupid=(int)getcvar('mlgroupid');
                        if(!strstr($cr[cgroupid],','.$mgroupid.','))
                        {
                                printerror('NotLevelToClass','history.go(-1)',1);
                        }
                }
                $pagetitle=$class_r[$trueclassid]['classname'];
                $pagekey=$cr['classpagekey'];
                $pagedes=$cr['intro'];
                $classimg=$cr['classimg']?$cr['classimg']:$public_r[newsurl].'app/data/images/notimg.gif';
                $url=ReturnClassLink($trueclassid);
                $pageecms=0;
                $pageclassid=$trueclassid;
                $GLOBALS['navclassid']=$trueclassid;
        }
        if(empty($class_r[$trueclassid][tbname]))
        {
                printerror('ErrorUrl','',1);
        }
        if(empty($tbname))
        {
                $tbname=$class_r[$trueclassid][tbname];
                $mid=$class_r[$trueclassid][modid];
                $yhid=$class_r[$trueclassid][yhid];
        }
        if($class_r[$trueclassid][reorder])
        {
                $addorder=$class_r[$trueclassid][reorder];
        }
        $search.='&classid='.$classid;
}
//标题分类
$truettid=0;
$ttid=$_GET['ttid'];
if($ttid)
{
        $ttid=RepPostVar($ttid);
        if(strstr($ttid,','))//多标题分类
        {
                $son_r=sys_ReturnMoreTT($ttid);
                $truettid=$son_r[0];
                $add.=' and ('.$son_r[1].')';
        }
        else
        {
                $truettid=intval($ttid);
                $add.=" and ttid='$truettid'";
                if($pageecms==1)
                {
                        $pagetitle=$class_tr[$truettid]['tname'];
                        $pagekey=$class_tr[$truettid]['tname'];
                        $pagedes=$class_tr[$truettid]['tname'];
                        $classimg=$public_r[newsurl].'app/data/images/notimg.gif';
                        $url="<a href='".ReturnSiteIndexUrl()."'>".$fun_r['index']."</a>&nbsp;>&nbsp;".$class_tr[$truettid]['tname'];
                        $pageclassid=$truettid;
                        $GLOBALS['navclassid']=$truettid;
                }
        }
        $ttmid=$class_tr[$truettid]['mid'];
        if(empty($ttmid))
        {
                printerror('ErrorUrl','',1);
        }
        if(empty($tbname))
        {
                $tbname=$emod_r[$ttmid]['tbname'];
                $mid=$ttmid;
                $yhid=$class_tr[$truettid][yhid];
        }
        $search.='&ttid='.$ttid;
}
if(empty($tbname)||InfoIsInTable($tbname))
{
        printerror('ErrorUrl','',1);
}
if($public_r['fieldandclosetb']&&stristr($public_r['fieldandclosetb'],','.$tbname.','))
{
        printerror('ErrorUrl','',1);
}
//头条
if($_GET['firsttitle'])
{
        $firsttitle=(int)$_GET['firsttitle'];
        if($firsttitle==-1)
        {
                $add.=" and firsttitle>0";
        }
        else
        {
                $add.=" and firsttitle='".$firsttitle."'";
        }
        $search.='&firsttitle='.$firsttitle;
}
//头条
if($_GET['isgood'])
{
        $isgood=(int)$_GET['isgood'];
        if($isgood==-1)
        {
                $add.=" and isgood>0";
        }
        else
        {
                $add.=" and isgood='".$isgood."'";
        }
        $search.='&isgood='.$isgood;
}
//时间
if($_GET['endtime'])
{
        $starttime=RepPostVar($_GET['starttime']);
        if(empty($starttime))
        {
                $starttime='0000-00-00';
        }
        $endtime=RepPostVar($_GET['endtime']);
        if(empty($endtime))
        {
                $endtime='0000-00-00';
        }
        if($endtime!='0000-00-00')
        {
                $add.=" and (newstime BETWEEN '".to_time($starttime." 00:00:00")."' and '".to_time($endtime." 23:59:59")."')";
                $search.='&starttime='.$starttime.'&endtime='.$endtime;
        }
}
//每页显示记录数
$line=(int)$_GET['line'];
if($line<10||$line>80)
{
        if($class_r[$trueclassid]['lencord'])
        {
                $line=$class_r[$trueclassid]['lencord'];
        }
        else
        {
                $line=intval($public_r['qlistinfonum']);
        }
}
if(empty($line))
{
        printerror('ErrorUrl','',1);
}
//列表模板
$tempid=(int)$_GET['tempid'];
if(empty($tempid))
{
        if($trueclassid)//栏目
        {
                $tempid=$class_r[$trueclassid]['dtlisttempid']?$class_r[$trueclassid]['dtlisttempid']:$class_r[$trueclassid]['listtempid'];
        }
}
else
{
        DtTempIsClose($tempid,'listtemp');
}
if(empty($tempid))
{
        printerror('ErrorUrl','',1);
}
$tempr=$empire->fetch1("select tempid,temptext,subnews,listvar,rownum,showdate,modid,subtitle,docode from ".GetTemptb("enewslisttemp")." where tempid='$tempid'");
if(empty($tempr[tempid]))
{
        printerror('ErrorUrl','',1);
}
$search.='&line='.$line.'&tempid='.$tempid;
if(empty($mid))
{
        $mid=$tempr['modid'];
}
//结合项
if(!empty($emod_r[$mid]['listandf'])&&$_GET['ph']==1)
{
        $andor=$_GET['andor']=='or'?'or':'and';
        $search.='&ph=1&andor='.$andor;
        $listandf='';
        $andr=explode(',',$emod_r[$mid]['listandf']);
        $count=count($andr)-1;
        for($i=1;$i<$count;$i++)
        {
                $andval=$_GET[$andr[$i]];
                if(!empty($andval))
                {
                        if(strlen($andval)>$public_r['max_keyboard'])
                        {
                                printerror("MinKeyboard","",1);
                        }
                        $andval=RepPostVar2($andval);
                        $doandor=empty($listandf)?'':' '.$andor.' ';
                        //增加某个字段模糊筛选
                        if($andr[$i]=="productno"){ //这里的sexi改为字段名

                $listandf.=$doandor.$andr[$i]." like '%".$andval."%'";

                        } 
                        else {
    
                        if(strstr($andval,'__'))
                        {
                                $andbtr=explode('__',$andval);
                                $andbtr[0]=(float)$andbtr[0];
                                $andbtr[1]=(float)$andbtr[1];
                                if($andbtr[0]&&$andbtr[1])
                                {
                                        $listandf.=$doandor.$andr[$i]." BETWEEN '".$andbtr[0]."' and '".$andbtr[1]."'";
                                }
                        }
                        elseif(empty($emod_r[$mid]['setandf']))
                        {
                                $listandf.=$doandor.$andr[$i]."='".$andval."'";
                        }
                        else
                        {
                                $listandf.=$doandor.$andr[$i]." like '%".$andval."%'";
                        }
                        }
                        $search.="&".$andr[$i]."=$andval";
                }
        }
        if($listandf)
        {
                $add.=' and ('.$listandf.')';
        }
}
//排序
$orderby=RepPostVar($_GET['orderby']);
$myorder=(int)$_GET['myorder'];
if($orderby)
{
        $orderr=ReturnDoOrderF($mid,$orderby,$myorder);
        $addorder=$orderr['returnorder'];
}
$search.='&orderby='.$orderby.'&myorder='.$myorder;
$page=(int)$_GET['page'];
$page=RepPIntvar($page);
$start=0;
$page_line=10;//每页显示链接数
$offset=$page*$line;//总偏移量
//系统模型
$ret_r=ReturnReplaceListF($mid);
//优化
$yhadd='';
if($yhid)
{
        $yhadd=ReturnYhSql($yhid,$yhvar);
}
//总数
$totalnum=(int)$_GET['totalnum'];
if(!$public_r['usetotalnum'])
{
        $totalnum=0;
}
if($totalnum<1)
{
        $totalquery="select count(*) as total from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);
        $num=$empire->gettotal($totalquery);
}
else
{
        $num=$totalnum;
}
if($public_r['usetotalnum'])
{
        $search.='&totalnum='.$num;
}
//checkpageno
eCheckListPageNo($page,$line,$num);
//置顶
if($public_r['fieldandtop'])
{
        $addorder='istop desc,'.$addorder;
}
$query="select ".ReturnSqlListF($mid)." from {$dbtbpre}ecms_".$tbname.ReturnYhAndSql($yhadd,$add,1);
$query.=" order by ".$addorder." limit $offset,$line";
$sql=$empire->query($query);
//分页
$listpage=page1($num,$line,$page_line,$start,$page,$search);
//页面支持标签
if($public_r['dtcanbq'])
{
        $tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);
}
else
{
        if($public_r['searchtempvar'])
        {
                $tempr[temptext]=ReplaceTempvar($tempr[temptext]);
        }
}
$listtemp=$tempr[temptext];
$rownum=$tempr[rownum];
if(empty($rownum))
{$rownum=1;}
$formatdate=$tempr[showdate];
$subnews=$tempr[subnews];
$subtitle=$tempr[subtitle];
$docode=$tempr[docode];
$modid=$tempr[modid];
$listvar=str_replace('&#091;!--news.url--]',$public_r[newsurl],$tempr[listvar]);
//公共
$listtemp=str_replace('&#091;!--newsnav--]',$url,$listtemp);//位置导航
$listtemp=Class_ReplaceSvars($listtemp,$url,$pageclassid,$pagetitle,$pagekey,$pagedes,$classimg,$addr,$pageecms);
$listtemp=str_replace('&#091;!--page.stats--]','',$listtemp);
$listtemp=str_replace('&#091;!--show.page--]',$listpage,$listtemp);
$listtemp=str_replace('&#091;!--show.listpage--]',$listpage,$listtemp);
$listtemp=str_replace('&#091;!--list.pageno--]',$page+1,$listtemp);
//取得列表模板
$list_exp="&#091;!--empirenews.listtemp--]";
$list_r=explode($list_exp,$listtemp);
$listtext=$list_r[1];
$no=$offset+1;
$changerow=1;
while($r=$empire->fetch($sql))
{
        //替换列表变量
        $repvar=ReplaceListVars($no,$listvar,$subnews,$subtitle,$formatdate,$url,$have_class,$r,$ret_r,$docode);
        $listtext=str_replace("<!--list.var".$changerow."-->",$repvar,$listtext);
        $changerow+=1;
        //超过行数
        if($changerow>$rownum)
        {
                $changerow=1;
                $string.=$listtext;
                $listtext=$list_r[1];
        }
        $no++;
}
//多余数据
if($changerow<=$rownum&&$listtext<>$list_r[1])
{
        $string.=$listtext;
}
$string=$list_r[0].$string.$list_r[2];
echo stripSlashes($string);
db_close();
$empire=null;
?>

免责/版权声明:

1、所有来源标注为 ECMSPLUS/ecmsplus.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。

2、本站所提供的文章资讯、软件资源、素材源码等内容均为作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。

3、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。

4、 ECMSPLUS/ecmsplus.com不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害

5、未经 ECMSPLUS/ecmsplus.com允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非 ECMSPLUS/ecmsplus.com所属的服务器上建立镜像, ECMSPLUS/ecmsplus.com对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

6、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。

标签:
精品源码
  • 二维码种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发

    惊爆价¥1500.00

    立即购买
    二维码种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发
  • 帝国cms7.5精仿企业信息综合门户《莞商网》(原创)

    惊爆价¥1500.00

    立即购买
    帝国cms7.5精仿企业信息综合门户《莞商网》(原创)
  • 厂房网,厂房出租,厂房出售,仓库出租,园区招商商铺厂房网整站源码

    惊爆价¥1999.00

    立即购买
    厂房网,厂房出租,厂房出售,仓库出租,园区招商商铺厂房网整站源码
看点推荐
精选文章

站长交流群

互联网站长技术交流群
共同学习,共同进步,共同成长!

QQ交流群

推荐文章

EmpireCMS(帝国CMS) 最新版(v7.5)已知漏洞汇总

帝国第三方登陆:微信内部登陆+扫码登陆2.0安装说明与使用方法

帝国cms百度Webupload批量上传组件,支持前台投稿

帝国cms通过用灵动标签的SQL语句查询来调用栏目导航

帝国cms图片集字段morepic分割,自定义图片集显示

帝国cms 技巧整理笔记,持续更新中

帝国cms 技巧整理笔记:常用变量,COOKIE获取和系统模板

最新文章

热门标签

关注我们

微信扫一扫,关注更多精彩

  • 公众号
    全面掌握源码一手资讯

  • 服务号
    精彩活动,推送提醒

垂询热线:18680688182

商务合作:0769-8700 9090
文章投稿: