1

我正在尝试显示我的数据库的一些推荐,但是在尝试不同的代码组合 2 天后,我不得不放弃并希望这里的人比我更了解 :)

这是我到目前为止所拥有的:

模型:

    function getTestimonials() {
    $this->db->select('*');
    $this->db->from('feedback_comments');   
    $c = $this->db->get();
    return $c;
    }

控制器:

    $testimonials = $this->feedback_model->getTestimonials();
    $this->outputData['testimonials'] = $testimonials;

最后是视图:

    <?php $i = 1; foreach($testimonials as $testimonial) { ?>
    <?php echo $testimonial->dated; ?>, <?php echo $testimonial->comment; ?>
    <?php } ?>

由于某种原因,没有显示结果。它没有显示任何错误,但它确实显示了 7 行,每行有两个逗号,这很奇怪,因为 BD 只有一条记录。

关于我做错了什么的任何线索?

提前致谢 :)

4

3 回答 3

0

用这个替换你的模型代码。

 function getTestimonials() {
    $this->db->select('*');
    $this->db->from('feedback_comments');   
    $c = $this->db->result();
    return $c;
    }
于 2013-10-13T11:55:24.233 回答
0

可能想看看这个:http ://ellislab.com/codeigniter/user-guide/database/results.html

问题很简单,您没有将结果存储到任何东西中。基本上,您需要更改:

return $c;

进入:

return $c->result();

为什么需要进行上述更改?基本上,每当您运行 get() 方法时,您都会检索到数据库查询的连接,这允许您检查行数、有关连接类型的详细信息等。如果您想访问结果,只需在连接字符串上调用 result() 方法(或 result_array,如果您愿意)。

于 2013-10-13T11:48:23.520 回答
0

只是这个模型方法:

function getTestimonials() {
    return $this->db->get('feedback_comments')->result();
}

但是,您没有显示如何加载视图。这一行:$this->outputData['testimonials'] = $testimonials;看起来有点不标准(因为你使用了 $this,但它应该可以工作)。这是加载视图的基本概念:

$outputData['testimonials'] = $testimonials;
$this->load->view('my_view', $outputData);
于 2013-10-13T12:10:28.337 回答