Codeigniter : Parse array passed to view

2019-06-09 00:35发布

问题:

i've to parse an array and print its reslut in a table , this is how i am passing array to view in
controller

public function history(){
            $history_result= array();
            $history_result = $this->user_model->user_history($this->user_id,0);
            $this->result_set['data'] = $history_result;
            $this->load->view('test',  $this->result_set);  
         }

in view if i var_dump $data i get array (size=1)

  0 => 
    object(stdClass)[19]
      public 'id' => string '1' (length=1)
      public 'user_id' => string '1' (length=1)
      public 'sender_name' => string 'test' (length=14)
      public 'sender_mobile' => string '12323' (length=10)
      public 'receiver_name' => string 'sfsf' (length=4)
      public 'sender_location' => string 'sfsf' (length=4)
      public 'receiver_location' => string 'sfsfs' (length=5)
      public 'receiver_mobile' => string '0' (length=1)
      public 'is_urget' => string '0' (length=1)
      public 'is_assigned' => string '0' (length=1)
      public 'request_type' => string '0' (length=1)
      public 'attachment_id' => string '' (length=0)
      public 'status' => string '0' (length=1)

my question is how do i access each item out of this result so that may print in a html table like this

<tr>id : 1</tr>
<tr>sender name : name..</tr>

回答1:

If you have this in your model

return = $this->db->get()->row();//one result

In your view you can display like

$data->id . '<br>' . $data->user_id . '<br' . $data->sender_name ...

if in your model get a multiple rows like

return = $this->db->get()->result();//as many as you have

In your view

foreach($data as $item){
echo '<tr>';
echo '<td>'.$item->id.'</td>';
echo '<td>'.$item->user_id.'</td>';
echo '<td>'.$item->sender_name.'</td>';
...
echo '</tr>';
}