【发布时间】:2013-06-13 07:57:15
【问题描述】:
我正忙着为我的一个客户建立一个目录站点,并且需要稍微调整一下搜索。
目录包含一大堆产品。每个产品都可以包含一个、多个和一个区间的项目编号。为了澄清这一点,我在下面列出了几个示例。
示例 1) 多个项目编号
项目编号 = 100、105、109、200
示例 2) 项目编号的间隔
项目编号 = 100 - 110
示例 3) 组合
项目编号 = 100 - 110、220、300 - 310、400、401
因此我的问题是:
有没有一种语法可以让我检查两个之间的间隔 用' - '分隔的数字?
如果是,关于如何构建允许我的查询的任何建议 实施。
如果否,您会推荐什么路线?
其他信息
该网站是在 WordPress 中构建的 - 其中 itemnumber 是一个自定义元字段。 Atm 我已经连接到 pre_posts 并添加: - 为了便于阅读,还粘贴在 pastebin 中 pastebin
$where .= " OR ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_value LIKE '%" . $wp_query->query_vars['s'] . "%' AND ( {$wpdb->posts}.ID=post_id AND {$wpdb->posts}.post_status!='inherit' AND ( {$wpdb->posts}.post_type='produkt' ) ) )";
上面的代码只是检查了产品元字段是否包含搜索词,不够具体。
【问题讨论】:
-
“检查用'-'分隔的两个数字之间的间隔”是什么意思?您能否添加输入和预期输出?
-
Boris,示例 2 -> 数字用 ' - ' 分隔。输入可以是
1 - 4,输出是sql,检查搜索的字符串是否匹配123或4
标签: sql wordpress mysqli intervals