2012-10-01 70 views
0

我試圖將數據從我的控制器發送到視圖。這裏是我該怎麼辦: 在控制器:控制器無法從控制器發送數據在codeIgniter項目中查看

function getAllProjects() 
    { 
     $where= array('id_user'=>$this->session->userdata('id_user')); 
     $result=$this->expenses_model->get_all('projets', $where);//get_all returns an array 
     echo json_encode ($result); 
     return $result; 
    } 

function index(){ 
         $data['all_projects']= $this->getAllProjects(); 
         $this->session->set_userdata('id_user', 28); 
         $this->load->view('layout/public/header'); 
         $this->load->view('content/public/profil/modules/expenses',$data); 
         $this->load->view('layout/public/footer'); 
        } 

回聲json_encode $的數據返回正確的結果),但我不知道該怎麼辦在視圖中顯示它。我想:(視圖)

<label><strong>Sur le projet</strong></label> 
     <select class="span4" id="projet" name="projet"> 
    <?php 
     if (isset($all_projects) && ! empty($all_projects)) 
      { echo "there is some projects"; //is not printed 
      foreach ($all_projects as $project){ 
      echo "<option value=".$project['id_projet'].">".$project['titre']."</option>"; } 
      else { 
       echo "<option value='0'>No projects</option>"; 
           } 

但它並不顯示在下拉列表「項目」 什麼我做錯了什麼嗎?任何人都可以幫助我嗎?

+3

? CodeIgniter有一個非常好的數據庫庫。爲什麼你不使用它呢? –

+0

什麼查詢完全返回?它的形成是否正確?您可能想要嘗試輸出該查詢並直接在數據庫上運行它,以查看結果是什麼 - 它很可能在某處出錯,因此不會返回任何結果。儘管@KemalFadillah說我會開始重寫這個來使用CI的本地數據庫類。 – froddd

+0

查詢返回正確的結果,這就是爲什麼我一直使用「經典」數據庫查詢。我是codeIgniter的新手,但我現在的問題尤其是如何正確發送數據 – user1499220

回答

0

我改變了的foreach這樣,它的工作:

foreach ($all_projects as $project) 
    { 
      echo "<option value=".$project->id_projet.">".$project->titre."</option>"; 
            } 

你爲什麼要使用deprecared`mysql_ *`功能謝謝您的解答

0

mysql_query()返回一個資源並且您將其作爲第二個參數交給$this->load->view();。如果您深入瞭解底層CodeIgniter源代碼,您會發現CodeIgniter不知道如何將此資源作爲此參數處理 - 只有數組和對象。

請不要使用mysql_query()和它的朋友。按照PHP official documentation

不推薦使用此擴展名。應該使用MySQLi或PDO_MySQL 擴展。

比這更重要的是,如果你在頂PHP的使用笨,用Database ClassActive Record Class一起進行數據庫查詢。地獄,甚至使用Datamapper ORM - 請不要使用mysql_query()或朋友。

+0

我使用CodeIgniter數據庫重寫了模型的功能,並編輯了我的問題。你可以看看我改變了什麼嗎?謝謝 – user1499220

相關問題