Php SQL子查询以在结果中查找类别
我正在从数据库表中获取一些数据。我使用的查询非常简单Php SQL子查询以在结果中查找类别,php,sql,codeigniter,Php,Sql,Codeigniter,我正在从数据库表中获取一些数据。我使用的查询非常简单 $query = $this->db->query("SELECT * FROM mc_boxes_has_categories WHERE mc_boxes_idmc_boxes = $box_id "); $categories
$query = $this->db->query("SELECT *
FROM mc_boxes_has_categories
WHERE mc_boxes_idmc_boxes = $box_id
");
$categories = $query->result_array();
return $categories;
此查询的输出是一个s,如下所示
Array
(
[0] => Array
(
[mc_boxes_idmc_boxes] => 12
[categories_idcategories] => 1
)
[1] => Array
(
[mc_boxes_idmc_boxes] => 12
[categories_idcategories] => 4
)
[2] => Array
(
[mc_boxes_idmc_boxes] => 12
[categories_idcategories] => 5
)
)
我的问题是如何检查类别是否包含类别id 1,然后渲染1个视图,如果不包含类别id 1,则渲染另一个视图。我需要检查类别id 1,在sql中是否可能
如果您只想选择包含类别1的类别,请按以下方式更改您的选择查询,谢谢:
$query = $this->db->query("SELECT *
FROM mc_boxes_has_categories
WHERE mc_boxes_idmc_boxes = $box_id AND categories_idcategories = 1
");
如果要选择所有类别,然后使用id 1类别执行一些不同的操作,请执行以下操作:
foreaach($categories as $category)
{
if($category['categories_idcategories'] == 1)
{
// render view 1
}
else
{
// render another view
}
}
您可以迭代和分组
foreach($categories as $row){
$categories[$row['categories_idcategories']][] = $row['mc_boxes_idmc_boxes'];
}
// whatever compare logic you need
if(isset($categories[1][0])){
}
谢谢我一提出问题,我就想到了解决办法。我想你是穆斯林,可以给我介绍一下吗informatics@faryal-汗:我也是穆斯林和PHP开发人员,让我们分享我们的经验,我的skpye id是corecoder1或联系我@core。coder1@gmail.com