帝国cms后台之管理信息全文检索功能实现

由于只是需要查询,所以这里用到了SQL语言中的功能。
修改文件:
/e/admin/ListAllInfo.php

修改方法:
1、在以下代码
$infotb=ReturnInfoMainTbname($tbname,$indexchecked);
下面添加
$infodatatb=ReturnInfoDataTbname($tbname,$indexchecked); //返回信息副表
2、修改条件查询语句,大约在229行
if($show==0)//搜索全部
{
$where.=$and.”(title like ‘%$keyboard%’ or username like ‘%$keyboard%’ or id=’$keyboard’ or keyboard like ‘%$keyboard%’ or EXISTS(select id from `$infodatatb` dt where dt.id=$infotb.id and dt.newstext like ‘%$keyboard%’))”;
}

图片[1]-帝国cms后台之管理信息全文检索功能实现-人生海web技术分享
关键的部分就是
or EXISTS(select id from `$infodatatb` dt where dt.id=$infotb.id and dt.newstext like ‘%$keyboard%’)

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False
EXISTS 指定一个子查询,检测 行 的存在。

语法: EXISTS subquery
参数: subquery 是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)。
结果类型: Boolean 如果子查询包含行,则返回 TRUE ,否则返回 FLASE 。

 

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享