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'] = 'なし';
}
とするかでしょうか。