tsuji kuni
kunit****@gmail*****
2012年 7月 13日 (金) 14:38:04 JST
kunitsujiです。 通常、DBから値を取り出して処理するときは、次のような感じです。 $query = $this->db->query($sql); if ($query->num_rows() > 0) { $result = $query->result(); } この時の$resultをforeach()すれば、通常は取り出せます。 このあたりは、ユーザーガイドのデータベースクラス、レコードセットの取得?あたりに説明があるので、そちらを参考にかかれてはいかがでしょうか 2012年7月13日 14:31 小島健太郎 <kojim****@gmail*****>: > よくある検索システムを作っています。 > > 現状、下記のようにして検索条件により抽出したデータを、 > ビューに渡し、ビュー側では下記のようにして値を取り出して表示しています。 > > > *** コントローラ ***************************** > > $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... > のエラー > > > 以上宜しくお願いします。 > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users > -------------- next part -------------- HTMLの添付ファイルを保管しました... Download