开发框架 版主:迅睿框架研发组
多条件,多个字段搜索无用
类型:迅睿CMS 更新时间:2023-10-28 16:23:06 dr_field_options dr_search_url 搜索函数

多条件搜索无结果。

根据教程获取代码,加入到模板无用。搜索函数写法 dr_search_url,内容搜索,PHP开源CMS系统帮助文档 (xunruicms.com)

搜索参数多条件的写法,内容搜索,PHP开源CMS系统帮助文档 (xunruicms.com)


/index.php?s=zhao&c=search&catid=10  可以

/index.php?s=zhao&c=search&catid=10&branch=1 加这个多条件就不可以了。branch是个下拉select


 
 <a class="{if !$params.branch}选中高亮{/if}" href="{dr_search_url($params, 'branch', NULL, 'zhao')}">不限</a>
{php $field = dr_field_options(47);}
{loop $field $value $name}
<a class="{if $value==$params.branch}选中高亮{/if}" href="{dr_search_url($params, 'branch', $value, 'zhao')}">{$name}</a></label>
{/loop}

<br>
====================多选模式====================
{php $field = dr_field_options(47);}
{loop $field $value $name}
<a class="{if dr_is_double_search($params.branch, $value)}选中高亮{/if}" href="{Router::search_url($params, 'branch', dr_get_double_search($params.branch, $value, 'zhao'))}">{$name}</a>
{/loop}

/index.php?s=zhao&c=search&catid=10&branch=3 

回帖
  • #1楼    迅睿框架创始人
    2023-10-28 09:28:48
    Google Pixel 手机 0
    开启开发者模式,然后在search标签下方加上debug的调试器(标签诊断器 ),看标签提示什么
  • 撒打网球
    #2楼    撒打网球
    2023-10-28 10:04:28
    Edge 0
    标签解析:{search module=MOD_DIR id=004ac18df283322xxe total=0 order= catid=10 page=1 pagesize=10 urlrule=http://xx.com/index.php?s=zhao&c=search&branch=3&catid=10&page=%7Bpage%7D}
    
    搜索解析:SELECT `dr_1_zhao`.`id` FROM `dr_1_zhao` WHERE `dr_1_zhao`.`catid`=10 AND (`dr_1_zhao`.`branch`=3 AND `dr_1_zhao`.`branch`="" AND `dr_1_zhao`.`branch`="") ORDER BY NULL 
    
    当前路由:zhao/search/index
    
    动态地址:index.php?s=zhao&c=search&catid=10&branch=3&page=0
    
    total参数为空
    
    变量前缀:t
    
    总记录数:0
    
    分页功能:未开启


    回复迅睿框架创始人 结果是这样的,貌似sql没有接收branch值?

  • #3楼    迅睿框架创始人
    2023-10-28 10:07:24
    Google Pixel 手机 0
    说明这个字段没有生效开发模式下的小火苗图标,然后切换到database看看数据
  • 撒打网球
    #4楼    撒打网球
    2023-10-28 10:12:17
    Edge 0
    回复迅睿框架创始人
    image
    是这样的~
  • #5楼    迅睿框架创始人
    2023-10-28 10:22:44
    Google Pixel 手机 0
    说明字段生效了,这句话的意思是查询【branch字段值是1且为空且为空两次】,这个条件永远不会成立的你url是branch=3,这个3跟1和空有什么联系,还有这个branch是什么字段类型,都需要分析
  • 撒打网球
    #6楼    撒打网球
    2023-10-28 10:46:30
    Edge 0
    回复迅睿框架创始人 谢谢。branch 出现3和1 是因为我发了2次搜索的情况。。 这个不是问题。。搜1就是1搜3就是3没问题的,主要是为什么会出现后面2个空呢? 您看我url传参没问题的啊。 直接用咱们后台标签工具生成的代码就这样,没有修改的
  • #7楼    迅睿框架创始人
    2023-10-28 11:07:26
    Google Pixel 手机 0
    可能是你后台开启了匹配方式为and
    满意答案
  • 撒打网球
    #8楼    撒打网球
    2023-10-28 16:23:06
    Edge 0
    迅睿框架创始人:回复迅睿框架创始人 。 已经可以了。问题原因是: 【模块搜索】里 【关键词匹配字段】选上了。不选就行了。