dt系统中tag如何使用like与%来进行模糊查询

本文探讨了Destoon系统中品牌页查询功能的问题,详细分析了为何查询标题中带品牌关键字无法正常工作的原因,并提出了修改建议,通过调整参数过滤规则,成功实现了与品牌相关的供应信息查询。

   在destoon中,如果一个品牌的详细显示页,如果要显示与品牌相关的供应的话,可以通过查询标题中带有品牌关键字的这一条件来进行查询,但是经过测试发现不能正确解析, 然后查看文件的源文件,发现  

  

{tag("moduleid=5&condition=title like '%".$title."%'&pagesize=10&order=hits desc&template=list-search_rank")} 

  

  tag的标签解析是由tag.func.php这个文件来进行的解析  可以看到程序中将%过滤过去了

 

$parameter = str_replace(array('&', '%'), array('', '##'), $parameter);  

  我们可以规定一个特殊的字符串来绕过这个字符串的检查

 

$parameter = str_replace(array('&', '%','$'), array('', '##','%'), $parameter);  

  演示网址:http://zhimo.yuanzhumuban.cc/hotkey/list-951.html

转载于:https://www.cnblogs.com/68xi/p/11474900.html

def refresh_summary(start_date_str, end_date_str, filter_text=""): # 清空统计表格 for row in summary_tree.get_children(): summary_tree.delete(row) try: start_dt = datetime.strptime(start_date_str, "%Y-%m-%d") end_dt = datetime.strptime(end_date_str, "%Y-%m-%d") except ValueError: messagebox.showwarning("日期错误", "请使用 YYYY-MM-DD 格式输入登记时间范围") return try: # 基础参数:两个日期用于 out_stats 和 cr_stats 查询 sql_params = [start_dt, end_dt, start_dt, end_dt] # 对应四个 %s condition = "" if filter_text.strip(): like_term = f"%{filter_text.strip()}%" # 查找匹配的 material_code match_query = """ SELECT DISTINCT mm.material_code FROM material_master mm INNER JOIN CK_receipt cr ON mm.CustomerRef = cr.CK_Item OR mm.material_code = cr.MappedMaterialCode WHERE (mm.CustomerRef LIKE %s OR mm.material_code LIKE %s) AND cr.Date BETWEEN %s AND %s """ cursor.execute(match_query, (like_term, like_term, start_dt, end_dt)) rows = cursor.fetchall() material_codes_filter = [r[0].strip() for r in rows] if rows else [] if not material_codes_filter: summary_tree.insert("", "end", values=["-", "-", "0", "0"], tags=("empty",)) return # 构造 IN 条件,并扩展参数 placeholders = &#39;,&#39;.join([&#39;%s&#39;] * len(material_codes_filter)) condition = f"AND mm.material_code IN ({placeholders})" sql_params.extend(material_codes_filter) # 添加所有料号作为参数 # 使用 {} 占位符避免 %s 冲突 query_template = """ SELECT mm.material_code, mm.CustomerRef, COALESCE(out_stats.total_out, 0), COALESCE(cr_stats.total_received, 0) FROM material_master mm LEFT JOIN ( SELECT o.material_code, SUM(o.quantity) AS total_out FROM outbound o WHERE o.date_out BETWEEN %s AND %s GROUP BY o.material_code ) out_stats ON mm.material_code = out_stats.material_code LEFT JOIN ( SELECT cr.MappedMaterialCode, SUM(cr.Qty) AS total_received FROM CK_receipt cr WHERE cr.Date >= %s AND cr.Date < %s + INTERVAL 1 DAY GROUP BY cr.MappedMaterialCode ) cr_stats ON mm.material_code = cr_stats.MappedMaterialCode WHERE mm.CustomerRef IS NOT NULL AND mm.CustomerRef != &#39;&#39; {condition} AND (out_stats.total_out > 0 OR cr_stats.total_received > 0) ORDER BY mm.material_code """ # ✅ 安全替换:使用 .format() 替换 {condition},不会解析 %s final_sql = query_template.format(condition=condition) # 执行查询 cursor.execute(final_sql, sql_params) results = cursor.fetchall() if not results: summary_tree.insert("", "end", values=["-", "-", "0", "0"], tags=("empty",)) else: for row in results: summary_tree.insert("", "end", values=[ str(row[0]), str(row[1]), f"{float(row[2]):g}", f"{float(row[3]):g}" ]) except Exception as e: messagebox.showerror("统计失败", f"加载统计数据失败:\n{str(e)}") print(f"[ERROR] refresh_summary 执行异常: {e}") 缩进4格给出
10-14
【顶级EI完美复现】电力系统碳排放流的计算方法【IEEE 14节点】(Matlab代码实现)内容概要:本文介绍了名为《【顶级EI完美复现】电力系统碳排放流的计算方法【IEEE 14节点】(Matlab代码实现)》的技术文档,核心内容是基于IEEE 14节点电力系统模型,利用Matlab实现碳排放流的精确计算方法。该方法通过建立电力系统中各节点的功率流动碳排放之间的映射关系,实现对电能传输过程中碳足迹的追踪量化分析,属于电力系统低碳调度碳流管理领域的关键技术。文中强调“顶级EI完美复现”,表明其算法和仿真结果具有较高的学术严谨性和可重复性,适用于科研验证教学演示。; 适合人群:电力系统、能源动力工程、电气工程及其自动化等相关专业的研究生、科研人员以及从事电力系统低碳化、碳排放核算工作的技术人员。; 使用场景及目标:①用于电力系统碳排放流理论的学习仿真验证;②支撑含新能源接入的电力系统低碳调度、碳交易、绿色电力溯源等课题的研究;③为撰写高水平学术论文(如EI/SCI期刊)提供可靠的代码基础和技术参考。; 阅读建议:读者应具备电力系统分析、Matlab编程的基础知识,建议结合电力系统潮流计算、节点导纳矩阵等前置知识进行学习,并通过调整系统参数和运行方式,深入理解碳排放流的分布规律影响因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值