按多个类别ID获取产品

时间:2014-04-04 13:27:10

标签: php mysql sql phpmyadmin

我试图做这种查询, 当我通过get进行查询时,我想显示来自id的结果,例如,如果我在我的GET = 11中有这个id;

我想显示category_id = 11的所有产品,即使他们有以concat格式的其他ID,我也不知道如何进行这种查询,

 $id = $_GET['id'];
 $sql = "SELECT * FROM `product` WHERE `product_category_id`='$id'";

我的product_category_id包含CONCAT格式的类别ID:

product_category_id (type text)
11,30,29

2 个答案:

答案 0 :(得分:1)

FIND_IN_SET MySQL函数可能就是你要找的东西。

$sql = "SELECT * FROM `product` WHERE FIND_IN_SET('$id', `product_category_id`)";

答案 1 :(得分:0)

有了这样的字段,你必须做这样的事情:

$sql = "SELECT *
        FROM product
        WHERE product_category_id LIKE '$id,%'
        OR product_category_id LIKE '%,$id,%'
        OR product_category_id LIKE '%,$id'";

但一般来说,这将是一个缓慢的查询。