1

配列をビュー ページに渡して、項目をリスト ボックス/ドロップダウンに配置しようとしています。このコードのどこが間違っていますか?

モデル

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>';
    }
  }
  ?>
4

2 に答える 2

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();
}
于 2013-05-02T23:46:50.910 に答える
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;
}
于 2013-05-03T04:43:21.950 に答える