2012-02-24 19 views
0

如何使用foreach循環打印所有值.i使用循環但它只打印數組值中的最後一個值。foreach循環不打印控制器的視圖頁面中的所有值

query=$this->Common_model->getTableData('table name', array('field name' => $param))->result(); 


    foreach($query as $rows) 
    { 

    $user=$rows->userby; 
    $data['user_status']=$rows->status; 

     $data['user']=$user; 

     $status=$this->Common_model->getTableData('table name', array('id' =>$data['user_status']))->row(); 

     $data['status']=$status->name; 


    } 

回答

1

它應該已經:

$query=$this->Common_model->getTableData('table name', array('field name' => $param)); //remove ->results() 


    foreach($query->result() as $rows) // correction here. 
    { 

    $user=$rows->userby; 
    $data['user_status']=$rows->status; 

     $data['user']=$user; 

     $status=$this->Common_model->getTableData('table name', array('id' =>$data['user_status']))->row(); 

     $data['status']=$status->name; 


    } 

result()的函數被調用每次,通過行一個接一個(順序地)來遍歷。

+0

foreach($ query-> result()as $ rows)//在這裏修正。我只改變了它的最後一個值 – 2012-02-24 05:44:12

+1

你是否在代碼的第一行中刪除了' - > results()'? – linuxeasy 2012-02-24 05:46:27

1

您只獲取最後一個值的原因是您將值分配給覆蓋先前值的相同索引。你應該試試這個

foreach($query->result() as $rows) // correction here. 
    { 

    $user=$rows->userby; 
    $data['user_status'][]=$rows->status; 

     $data['user'][]=$user; 

     $status=$this->Common_model->getTableData('table name', array('id' =>$data['user_status']))->row(); 

     $data['status'][]=$status->name; 


    } 
相關問題