查询表行与匹配的数字?

时间:2014-04-18 14:24:13

标签: php jquery mysql sql

好吧我对php比较新,而且此刻,我完全迷失了!

我有一个页面供用户比较最多三个产品,同时将他们的搜索保存到表("saved_results"),以便我可以有一个部分,比如说,最近的搜索,或者类似的搜索等......

当用户比较多个产品时,它会从产品表("products")中获取他们所比较的产品ID,并将其保存到数据库中的新表("compared_products")中,字段compared_ids,使用逗号分隔格式(id1,id2,id3)。

如何进行查询以返回“saved_results”中的字段,其中至少有两个以逗号分隔的字段相同?

我假设我不能使用LIKE语句,我不认为它会起作用,因为如果我想找到某人比较产品1和5的行,它会返回任何行其中一个数字,包括10,11,15,16 ...... 25,50,51,52 ....因为1和/或5都在这些数字中!

1 个答案:

答案 0 :(得分:0)

我建议你对表结构稍作修改。以错误的方式在表行中存储逗号分隔值。

在特定时间为每个用户生成唯一的compare_id 并使用以下结构恢复您的compared_products表格 -

id
compare_id
product_id
...
...

因此,如果一个特定的比较有3个产品进行比较,你将在1上插入3行。

id   compare_id   product_id
1       33           52
2       33           37
3       33           11

这将帮助您轻松查询。