codeigniter 上 foreach 中的条件(排序依据)
Posted
技术标签:
【中文标题】codeigniter 上 foreach 中的条件(排序依据)【英文标题】:condition(order by) in foreach on codeigniter 【发布时间】:2014-02-10 16:21:21 【问题描述】:我有一个模型函数可以从 db 中获取数据,并且我想将数据显示为两类。
那么有没有办法用两个foreach函数打印数据?
简单来说,我有一个内容和视图表,我只想显示新插入的数据以及这些表中某个日期范围内查看次数最多的数据。 我刚刚发送了标题、日期、user_views 和 published_date 来查看文件。
这是我的模型函数:
public function recent($language)
$lang=$language;
$data = $this->db
->select('title,content.id,published_up','view')
->from('content')
->join('views','content.id = views.content_id')
->where('content.language',$lang)
->where('content.published_up BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 DAY) AND CURDATE()')
->where('content.state','1')
->limit('10')
->order_by("published_up","DESC")
->get();
if ($data->num_rows > 0)
return $data->result();
else
return false;
这是我的观点:
<?php foreach($recent => $item)
echo $item->title;
?>
现在如果我想显示观看次数最多的内容,还有其他查询或其他类型的 foreach 吗?
【问题讨论】:
【参考方案1】:使用这个... 我不知道你在桌子上的字段是什么。
public function recent($language)
$lang=$language;
$query = "
SELECT
title,content.id,published_up
FROM
content,views
WHERE
content.id = views.content_id and
content.language = $lang and
content.published_up BETWEEN DATE_SUB(CURDATE(), INTERVAL 10 DAY) AND CURDATE() and
content.state = 1 and
content.state = 1 ORDER BY
published_up DESC LIMIT 10";
if ($query->num_rows > 0)
return $this->db->query($query)->result();
else
return false;
和循环(在视图中)
<?php
foreach($data as $item)
$item->title;
?>
【讨论】:
以上是关于codeigniter 上 foreach 中的条件(排序依据)的主要内容,如果未能解决你的问题,请参考以下文章