【发布时间】:2012-08-19 22:46:57
【问题描述】:
我目前正在学习使用 Framework Codeigniter 查看数据库中数据的教程。我学习的方法有很多种。是否有更可靠的方法 - 显示为数组或在视图文件中使用“foreach”?任何意见都会有所帮助。
这是我使用两种方法的代码:
方法一模型:
function getArticle(){
$this->db->select('*');
$this->db->from('test');
$this->db->where('author','David');
$this->db->order_by('id', 'DESC');
$query=$this->db->get();
if($query->num_rows() > 0) {
foreach ($query->result() as $row) {
$data[] = $row;
}
return $data;
}$query->free_result();
}
}
方法一查看文件:
<?php foreach($article as $row){ ?>
<h3><?php echo $row->title; ?></h3>
<p><?php echo $row->content; ?></p>
<p><?php echo $row->author; ?></p>
<p><?php echo $row->date; ?></p>
<?php } ?>
方法2模型: 类 News_model 扩展 CI_Model {
function getArticle(){
$this->db->select('*');
$this->db->from('test');
$this->db->where('author', 'David');
$this->db->order_by('id', 'DESC');
$query=$this->db->get();
if ($query->num_rows()>0) {
return $query->row_array();
}
$query->free_result();
}
方法二查看文件:
<?php echo '<h3>' .$article['title'].'</h3>' ?>
<?php echo '<p>' .$article['content']. '</p>' ?>
<?php echo '<p>' .$article['author']. '</p>' ?>
<?php echo '<p>'. $article['date']. '</p>' ?>
【问题讨论】:
-
考虑到查询只返回一条记录,我会更喜欢第二种方法。
-
不明白为什么你在第一个方法的模型中通过结果集循环而不返回它?
-
@Vlakarados,当你在我的第一种方法中说我正在循环而不是返回它时 - 你能描述一下我将如何返回它吗?道歉,因为我是框架的新手,不确定如何从视图中显示。
-
我稍后会发布它作为答案
标签: php arrays codeigniter model foreach