如何使用登录名来做过滤条件?

需求:用户登录后,登录名作为过滤条件,对数据进行过滤,如果登录名不在数据库中,则展示所有数据。

我的想法是使用截取字符串的语句来截取用户登录名$fine_display_name,获取到我需要的名称,再和数据库的名称进行匹配,如果两个名称相等,则展示过滤后的数据;不相等的话展示全部数据。

参数写法类似参数为空选择全部的写法,但是一直尝试不出正解。有大佬指教一下吗

FineReport 奇犽呀呀 发布于 2023-10-16 16:16
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
snrtuemcLv8专家互助
发布于2023-10-16 16:19

这个正常

where 1=1

${if(len(fine_display_name)=0,""," and 字段名='"+mid(fine_display_name,find("(",fine_display_name)+1,find(")",fine_display_name)-find("(",fine_display_name)-1)+"'")}

image.png

  • 奇犽呀呀 奇犽呀呀(提问者) 感谢大佬,根据您的代码修改后可以了
    2023-10-16 16:58 
  • 奇犽呀呀 奇犽呀呀(提问者) 不过有个地方还得再请教一下:len(fine_display_name)=0这一句,能否替换成fine_display_name = 字段名的形式?
    2023-10-16 17:27 
最佳回答
0
Z4u3z1Lv6专家互助
发布于2023-10-16 16:17

类似

if(len($area)==0,nofilter,$area)表示参数area为空,就不过滤,若不为空则以参数值进行过滤(筛选)

最佳回答
0
ZxxTLv6初级互助
发布于2023-10-16 16:30

登录名不是$fine_username吗

  • 奇犽呀呀 奇犽呀呀(提问者) 我的表达问题,应该是登录姓名
    2023-10-16 16:34 
  • ZxxT ZxxT 回复 奇犽呀呀(提问者) 登录姓名如果重名呢
    2023-10-16 16:35 
  • 奇犽呀呀 奇犽呀呀(提问者) 回复 ZxxT 只能去维护好数据库和用户表。数据权限表被嫌麻烦
    2023-10-16 16:40 
  • 2关注人数
  • 176浏览人数
  • 最后回答于:2023-10-16 16:30
    请选择关闭问题的原因
    确定 取消
    返回顶部