2013-05-02 102 views
1

我想將數組傳遞到視圖頁面並將項目放在列表框/下拉列表中。我在哪裏錯了這個代碼?CodeIgniter - 從模型發送數組到控制器到頁面

型號

public function get_suppliers(){ 
     $type = "SUPPLIER"; 
     $this->db->where('usertype', $type); 
     $query = $this->db->get('users'); 
     foreach ($query->result() as $row){ 
      $results = array(
       'userid' => $row->userid, 
       'firstname' => $row->firstname, 
       'lastname' => $row->lastname, 
       'company' => $row->company 
      ); 

     } 
     return $results; 
    } 

控制器

$this->load->model('user_model'); 
$data['supplier']= $this->user_model->get_suppliers(); 
$this->load->view('include/header.php'); 
$this->load->view('addvehicle_view', $data); 
$this->load->view('include/footer.php'); 

查看

<?php 
    if(isset($supplier)){ 
     foreach ($supplier as $info){ 
     echo'<option value="' . $info->userid . '">' . $info->company . ' - ' . $info->lastname . ', ' . $info->firstname . '</option>'; 
    } 
    } 
    ?> 

回答

3

get_suppliers()

$results = array(); // just in case there is no record 

foreach (...) { 
    $results[] = array(// you forgot the "[]" 
     ... 
    ); 
} 

另一個問題:你的模型(一旦修復)返回一個數組數組,而你的視圖需要一個對象數組。

開門見山,這裏是你的新性感模特方法:

public function get_suppliers() { 
    return $this->db 
     ->where('usertype', 'SUPPLIER') 
     ->get('users') 
     ->result(); 
} 
+0

我在視圖頁面使用的var_dump轉儲陣列和下面是我得到了什麼,但它不是在foreach正確抽取循環。你是否在視圖中看到每個循環的問題? (1){[0] => array(4){[「userid」] => string(1)「3」[「firstname」] => string(13)「SupplierFirst」[「lastname」] =>字符串(12)「SupplierLast」[「company」] => string(9)「Supply Co」}} – jfur7 2013-05-02 23:51:44

+0

看起來您沒有閱讀我的答案。我只是編輯它來添加一個現成的代碼。 – 2013-05-03 03:04:17

+0

謝謝你的幫助:)工作很好! – jfur7 2013-05-03 04:50:43

0
public function get_suppliers(){ 
    $type = "SUPPLIER"; 
    $this->db->where('usertype', $type); 
    $query = $this->db->get('users'); 
    $results = array(); 
    foreach ($query->result() as $row){ 
     $results[] = array(
       'userid' => $row->userid, 
       'firstname' => $row->firstname, 
       'lastname' => $row->lastname, 
       'company' => $row->company 
     ); 

    } 
    return $results; 
} 
相關問題