0

私は codeigniter にかなり慣れていないので、この問題を把握できていないようです。要するに、CodeIgniter フレームワーク間のデータの流れを理解するのに問題があります。表示したいのは、モーダルを使用してデータベースから取得したデータであり、それらをビューに表示します..

私のコントローラーのコードは次のとおりです。

$unitData =$this->ClientUnit->getBlockUnits($client_block_ID);
foreach ($unitData->result() as $row){
  for ($i=0; $i < 3; $i++) { 
    $client_unit_name[$i] = $row->client_unit_name[$i]; 
    $unit_owner_name[$i] = $row->unit_owner_name[$i];     
    }
 }
 $data['client_unit_name'] = $client_unit_name;
 $data['unit_owner_name'] = $unit_owner_name;
 $this->load->view('newblock_unit',$data);

私のモーダルファイルは次のとおりです。

function getBlockUnits($client_block_ID) {
  $query = $this->db->query('SELECT * FROM client_units where client_block_ID="'.$client_block_ID.'"');
  return $query; 
}

ご覧のとおり、モーダルとコントローラーのコードから、問題は複数の行が返されるためです。現在、個々の行ではなく、ビューのすべての出力の最後の行のみを取得しています...

4

2 に答える 2

0

問題は、オブジェクトまたは配列を返していないことだと思います。オブジェクトに対して使用する必要があるモデルでは、次のようになります。

return $query->result();

または配列の場合:

return $query->result_array();

編集:これに関するすべてをここで読むことができますhttp://ellislab.com/codeigniter/user-guide/database/results.html

于 2013-04-09T08:06:02.137 に答える
0

ビューで配列全体を送信し、そこでループすることができます

 $unitData =$this->ClientUnit->getBlockUnits($client_block_ID);


 $data['unitData '] = $unitData->result_array();
 $this->load->view('newblock_unit',$data);

ビューでループを使用して、対応するものを取得します

 foreach($unitData as $row){
    echo row['client_unit_name'];
     echo row['unit_owner_name'];
 }
于 2013-04-09T08:12:26.943 に答える