doumi5223
2017-10-24 09:50
采纳率: 100%
浏览 28
已采纳

如何在codeigniter视图中循环此输出

I am returning 2 result query from model to view. so, in controller i am just printing the this array by print_r($data) function. i dont know how to loop this result in my view

this is the result i am getting in the controller from the model. so how can i loop through the data.

Array ( [value] => Grocery 
[products] => Array ( [0] => Array ( [query1] => Array ( [0] => stdClass Object ( [parent_category] => Beverages ) [1] => stdClass Object ( [parent_category] => Household ) ) [query2] => Array ( [0] => stdClass Object ( [product_name] => Britannia Cake - Fruity Fun ) [1] => stdClass Object ( [product_name] => Tetley Green Tea - Long Leaf ) [2] => stdClass Object ( [product_name] => Tetley Green Tea - Lemon ) [3] => stdClass Object ( [product_name] => AVT Gold Cup Premium Dust Tea ) [4] => stdClass Object ( [product_name] => Brooke Bond Red Label Tea ) [5] => stdClass Object ( [product_name] => sd sdsds s ) [6] => stdClass Object ( [product_name] => sds dfcs ) [7] => stdClass Object ( [product_name] => fhgg ) [8] => stdClass Object ( [product_name] => hearts ) [9] => stdClass Object ( [product_name] => banana ) [10] => stdClass Object ( [product_name] => hearts ) ) ) ) )

Model

 $query3=$this->db->select('product_name')
                      ->from('materials')
                      ->where('category',$value)
                      ->get();
                      $data=array();
                      if($query3->num_rows() > 0)
                      {
                          //$data['category'] = $this->test($value,$location);
                            $query4=$this->db->select('parent_category')
                          ->distinct()
                          ->from('materials')
                         ->where('category',$value)
                         ->where('warehouse_id',$location)
                         ->group_by('parent_category')
                                               ->get();
                          if($query4->num_rows() > 0)
                          {

                            $data['query1']= $query4->result();

                          }
                            $data['query2']=$query3->result();
                          //print_r($data);

                          return $data=array($data);
                      }

Controller

$data['value'] = $this->input->post('newparam');
$data['products']=$this->Search_model->getItems($data['value'],$location);
print_r(  $data);

View

<?php foreach ($query2 as $product){ ?>


        <tr>
                <td><?php echo $product->product_name?></td>

        </tr>


<?php } ?></table>
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

4条回答 默认 最新

  • dongtanxi5676756 2017-10-24 10:15
    最佳回答

    Assuming your $products variable has the following data structure :

    [products] => Array ( 
                [0] => Array ( 
                        [query1] => Array ( 
                                [0] => stdClass Object ( [parent_category] => Beverages ) 
                                [1] => stdClass Object ( [parent_category] => Household ) ) 
                        [query2] => Array ( 
                                [0] => stdClass Object ( [product_name] => Britannia Cake - Fruity Fun ) 
                                [1] => stdClass Object ( [product_name] => Tetley Green Tea - Long Leaf ) 
                                [2] => stdClass Object ( [product_name] => Tetley Green Tea - Lemon ) 
                                [3] => stdClass Object ( [product_name] => AVT Gold Cup Premium Dust Tea ) 
                                [4] => stdClass Object ( [product_name] => Brooke Bond Red Label Tea ) 
                                [5] => stdClass Object ( [product_name] => sd sdsds s ) 
                                [6] => stdClass Object ( [product_name] => sds dfcs ) 
                                [7] => stdClass Object ( [product_name] => fhgg ) 
                                [8] => stdClass Object ( [product_name] => hearts ) 
                                [9] => stdClass Object ( [product_name] => banana ) 
                                [10] => stdClass Object ( [product_name] => hearts ) 
                        ) 
                ) 
            ) 
    

    Then to loop through the data in the query2 array, you could do :

    <?php foreach($products[0]['query2'] as $product) { ?>
        <tr>
            <td><?php echo $product->product_name;?></td>
        </tr>
    <?php } ?>
    
    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题