1

CI/PHP/開発は初めてです。私はこの問題で立ち往生しています。それは本当に基本的なようですが、私はそれを正しく理解できません!

問題は、ビューがクエリ結果の最後の行のみを表示することです

モデル:

$this->db->select('Caption,Description');                           
$query = $this->db->get_where('Events', array ('User_iduser' => $user_id));
$results = $query->result();                            

コントローラ:

$this->load->model('get_events_model');
$data['results'] = $this->get_events_model->get_events(); 
$this->load->view('main/members_area_form',$data);

意見:

<?php foreach($results as $row); {
echo $row->Caption;
echo $row->Description;
}
?>

トラブルシューティングのために、私は入れました:

var_dump($results);

...ビューで、結果は次のとおりです。

array(3) { [0]=> object(stdClass)#18 (2) { ["Caption"]=> string(5) "Color"     ["Description"]=> string(4) "Blue" } [1]=> object(stdClass)#19 (2) { ["Caption"]=> string(5) "Color" ["Description"]=> string(3) "Red" } [2]=> object(stdClass)#20 (2) { ["Caption"]=> string(5) "Color" ["Description"]=> string(5) "Black" } } 

したがって、db クエリに問題はありませんが、foreach ループはクエリの最後の行のみを表示しています。私は何を間違っていますか?

4

2 に答える 2

1
remove ";" from 
<?php foreach($results as $row); {

the line will be 
<?php foreach($results as $row) {

in your case foreach was only looping but your echos was not in foreach.
after executing foreach 
it was coming to your echo part and echoing last row as foreach already conpleted its loop.
于 2013-07-06T21:33:50.160 に答える
0

あなたのビューコードを見てください:

不要なセミコロン「;」を削除する必要があります。foreachの後

<?php 
     foreach($results as $row) {
        echo $row->Caption;
        echo $row->Description;
     }
?>
于 2013-07-06T21:32:52.820 に答える