小島健太郎
kojim****@gmail*****
2012年 7月 13日 (金) 14:31:56 JST
よくある検索システムを作っています。
現状、下記のようにして検索条件により抽出したデータを、
ビューに渡し、ビュー側では下記のようにして値を取り出して表示しています。
*** コントローラ *****************************
$sql="...";//postされた条件でsql文作成
$data['rsAll']=$this->db->query($sql);//DB検索し、結果セットを取得
$this->load->view('v_listAll', $data);//結果をビューに渡す
*** ビュー ***********************************
<?php foreach ($rsAll->result() as $All): ?>
print "<td>".$All->dept_name."</td>";
print "<td>".$All->assessment."</td>";
:
<?php endforeach; ?>
**********************************************
これをビューに渡さずに、コントローラ内で配列の値を
取り出したいと思っているのですが(Excel出力処理へ利用しようとしています)
どうしたら取り出せるかがわかりません。
試せる範囲で、以下のようなことを試したのですが、
うまくいきません。
初歩的なことかもしれませんが、取り出し方をご教示願います。
(1)コントローラ内(上記の「$data['rsAll']=$this->db->query($sql)」のあと)で
foreach ($rsAll->result() as $All){
$dept_name=$All->dept_name;
...などと記述(ビューと全く同じ方法で記述)
⇒Fatal error: Cannot use object of type CI_DB_mysql_result as array in... のエラー
(2)コントローラ内(上記の「$data['rsAll']=$this->db->query($sql)」のあと)で
foreach ($data['rsAll']->result as $All){
$dept_name=$All->dept_name;
...などと記述
⇒Invalid argument supplied for foreach() のエラー
(3)$data['rsAll']['dept_name']などと書いてみる
⇒Fatal error: Cannot use object of type CI_DB_mysql_result as array in... のエラー
以上宜しくお願いします。