0

私は PHP と CodeIgniter が初めてで、これについて言及している多くの質問があり、それらすべてを試してみましたが、何も機能していないようです。すべてが構成で自動ロードされ、データベースが実行されており、データベースへの投稿機能は機能していますが、ビューページへの書き込みはまったく機能しません。ユーザー名を表示する以外は、ビューページに新しい変数を作成します。

コントローラ

 public function ShowNews()
 {
     $data = array();
     $this->load->model('user');
     $data['news'] = $this->user->getNews();
     $this->load->vars($data);
}

モデル

function getNews(){
    $q = $this->db->get('News');
    if($q->num_rows() > 0){
        return $q->result();
    }
    return FALSE;
}

意見

<?php foreach($news as $row) : ?>

<li><?php echo $row->Title;  ?> </li>
<li><?php echo $row->Date; ?></li>      

<?php endforeach; ?>

これはエラーです EDIT ves to news

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: news

Filename: admin/Pocetna.php

Line Number: 64
A PHP Error was encountered

Severity: Warning

Message: Invalid argument supplied for foreach()

Filename: admin/Pocetna.php

Line Number: 64

CodeIgniter で WAMP、NetBeans を使用します。コントローラーからビューにデータを渡す必要があることがわかりましたが、理解できず、すでに数日試していますが、常に問題が発生しています。

4

1 に答える 1

1

あなたは$dataあなたの見解に合格していません。コントローラーは次のようになります。

public function show_news()
{
    $this->load->model('user');

    $data = [];
    $data['news'] = $this->user->get_news();

    $this->load->view('news', $data);
}

value をループすると問題が発生するため、ビューは$newsisかどうかもチェックする必要があります。モデルもnot 、cam't ループをオブジェクトに返す必要があります..FALSEforeachFALSEresult_arrayresultforeach

public function get_news()
{
    $q = $this->db->get('News');

    return($q->num_rows() > 0) ? $q->result_array() : FALSE;
}

ビューは次のようになります。

<?php
    if($news !== FALSE)
    {
        foreach($news as $row)
        {
            echo "<li>{$row['title']}</li>";
            echo "<li>{$row['date']}</li>"; 
        }
    }
    else
    {
        echo "No news to see here!";
    }
?>

あなたのタイトルも投稿のエラーとリンクしていないので、それがタイトルのエラーの解決策です.

于 2013-05-21T15:25:20.497 に答える