kunitsuji
tsuji****@m-s*****
2008年 7月 17日 (木) 19:55:00 JST
kunitsujiです。 まず。 >表示しないので間違ってるのですが、 > function get_computer_redate($cu_id) > { > $this->db->where('cu_id', $cu_id); > $query = $this->db->get('computer'); > $row = $query->row(); > if ($row->redate == NULL){ > echo 'なし'; > } > else > { > echo $row->redate; > } > } これは、単純に$row->redateの中身がひょうじされていると考えられます。 日付形式ではなく、timestampではないでしょうか?DBのカラムの定義。 >A PHP Error was encountered > >Severity: Notice > >Message: Undefined variable: redate_post > >Filename: views/pc_list.php > >Line Number: 45 >といったエラーが表示されています。 この部分ですが、pc_listビューで、redate_postという変数が初期設定されてい ませんというエラーです。 if($redate_post) { $data['redate_item'] = $row->redate; } else { $data['redate_item'] = 'なし'; } として判定していますが、 $data['redate_post'] = "なにか"; っていうのがないので、 <?=form_prep($redate_post);?> ではエラーですね。 ここでは <?=form_prep($redate_item');?> とするのが正しいのではないでしょうか? >ここでこの判定をしてるという事はコントローラーでの判定は余計なんでしょう >か?ちょっと混乱してきました(^^;) これですが、 function get_computer_redate($cu_id) { $this->db->where('cu_id', $cu_id); $query = $this->db->get('computer'); $row = $query->row(); if ($row->redate == NULL){ echo 'なし'; } else { echo $row->redate; } } としているので値が返っていませんね。 この場合 echo ではなく return としなければなりません。 ここではどうするのがいいかというと get_comXXXXXXX ですから、値をGETするんだ、と仮定すると if ($row->redate == NULL){ return FALSE; } else { return $row->redate; } ダとおもいます。 で、コントローラで if($redate_post) { $data['redate_item'] = $row->redate; } else { $data['redate_item'] = 'なし'; } としている部分ですが、 このままでもいいし if($redate_post) { $data['redate_item'] = $redate_post; } else { $data['redate_item'] = 'なし'; } とするかでしょうか。