好吧我对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都在这些数字中!
答案 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
这将帮助您轻松查询。