2014-01-20 3 views
1

Я новичок в PHP Codeigniter. У меня есть запрос внутреннего соединения базы данных, в котором я получаю идентификатор категории, название категории, идентификатор подкатегории и имя подкатегории, как показано ниже.Создать многомерный массив из запроса базы данных в Codeigniter

например. enter image description here

Я выясняю способ создания многомерного массива с идентификатором категории, именем и подкатегориями в виде как в нем.

например.

Array[0]=>Array ([category_id] => 1 [category_name] => Computer [sub] => 
      Array ([0]=> [subcategory_id] => 1 [subcategory_name] => C Programming) 
       [1]=> [subcategory_id] => 2 [subcategory_name] => Website Development) 
       [2]=> [subcategory_id] => 4 [subcategory_name] => Java)) 

Array[1]=>Array ([category_id] => 2 [category_name] => Robotics [sub] => 
      Array ([subcategory_id] => 3 [subcategory_name] => Robo Wars)) 

Благодаря

+0

Вы можете отправить запрос? –

ответ

2

Предположит следующее вашего результата массив из БДА

$queryResult = array(
    array('category_id'=>1,'category_name'=>'Computer','subcategory_id'=>1,'subcategory_name'=>'C Programming','category_id'=>'1'), 
    array('category_id'=>1,'category_name'=>'Computer','subcategory_id'=>2,'subcategory_name'=>'Website Development','category_id'=>'1'), 
    array('category_id'=>1,'category_name'=>'Computer','subcategory_id'=>4,'subcategory_name'=>'Java','category_id'=>'1'), 
    array('category_id'=>2,'category_name'=>'Robotics','subcategory_id'=>3,'subcategory_name'=>'Robo Wars','category_id'=>'2'), 
); 

Тогда вы могли бы попробовать

$result = array(); 
foreach($queryResult as $arr){ 
    $result[$arr['category_id']]['category_id']= $arr['category_id']; 
    $result[$arr['category_id']]['category_name'] = $arr['category_name']; 
    $result[$arr['category_id']]['sub'][]= array('subcategory_id'=>$arr['subcategory_id'],'subcategory_name'=>$arr['subcategory_name']); 
} 

Надеется, что это полезно

+0

Большое спасибо. Я пытался решить это за последние два дня. Вы спасли меня. – Chopra

1

Вы Ждете» t разместите свой q uery, но я предполагаю, что это выглядит примерно так:

$sql = 'SELECT whatever FROM my_table WHERE category = ?'; 

$data = array(
    $category 
); 

$query = $this->db 
    ->query($sql, $data) 
    ->result_array(); 

Добавление ->result_array() функцию запроса возвращает ассоциативный массив вместо объекта.

Смежные вопросы