搜索问题

2020-12-01 10:00

OE默认是只搜索一个关键字,现在我想添加多个关键字搜索,按照管理给的思路
按栏目的关键字查询,需要做二次开发
部件文件 product_list.php
增加个 栏目关键字查询 如 $catname
$catname = Core_Fun::rec_post('catname');
if(Core_Fun::ischar($catname)){
       $searchsql .= " AND c.catename LIKE '%".$catname."%'";
}
我添加了搜索“prodoctnum”的条件
$searchsql        = \" WHERE v.flag=1\";
if($cid>0){
        $childs_sql = Core_Mod::build_childsql(\"productcate\",\"v\",intval($cid),\"\");
        if(Core_Fun::ischar($childs_sql)){
                $searchsql .= \" AND (v.cateid='\".intval($cid).\"'\".$childs_sql.\")\";
        }else{
                $searchsql .= \" AND v.cateid='\".intval($cid).\"'\";
        }

        $catname = Core_Fun::rec_post('catname');
if(Core_Fun::ischar($catname)){
       $searchsql .= \" AND c.catename LIKE '%\".$catname.\"%'\";
}
}

if(Core_Fun::ischar($keyword)){
        $searchsql .= \" AND v.productname LIKE '%\".$keyword.\"%'\";
}
if(Core_Fun::ischar($keyword)){
        $searchsql .= \" AND v.productnum LIKE '%\".$keyword.\"%'\";
}
发现不但没起作用,连原来的搜索也不起作用了,求解

3015 次浏览 2 条评论 收藏

说说我的看法

登录后可以发表评论 登录
2个评论
-- 2020-12-01 10:00
添加产品编号搜索需要在执行SQL查询之前获取参数,
如在17行增加:
//产品编号查询
$prodoctnum = Core_Fun::rec_post(\'prodoctnum\');
//产品名称查询
$keyword =Core_Fun::rec_post(\'keyword\');
回复
-- 2020-12-01 10:00
搜索分类的话,统计总数那里也应该关联下分类表
代码如下:

$countsql        = \"SELECT COUNT(v.productid) FROM \".DB_PREFIX.\"product AS v\".$searchsql;
改成
$countsql        = \"SELECT COUNT(v.productid) FROM \".DB_PREFIX.\"product AS v LEFT JOIN \".DB_PREFIX.\"productcate AS c ON v.cateid=c.cateid\".$searchsql;
回复
作者信息

10
贴子
0
粉丝
热门贴子

免费试用


咨询热线


在线咨询