我正在创建一个产品区域。所有产品中都有一些关键字 ID。我要实现的是,如果选择了一个产品,我想在页面下方显示大多数相关的其他产品。例如数据,
产品编号 | 产品名称 | 关键词
23 | product1 | 2,4,13
31 | product3 | 2,4,8
10 | product6 | 2,4
11 | product4 | 2,3
34 | product2 | 2,4
54 | product5 | 2,7
12 | product8 | 4,8
假设我必须为包含关键字 2 和 4的产品显示相关产品。 目前我正在使用以下来获取相关产品
$sql="SELECT * FROM table1 WHERE keywords REGEXP '(^|,)2(,|$)' OR keywords REGEXP '(^|,)4(,|$)' ORDER BY product_id"
但有时这不会返回大部分相关产品。
对于上面的示例数据,product_id 23,31,10,34应该优先于其他记录。
这可能吗?那我应该怎么做才能克服呢?感谢所有回复。