我想根据活动和日期制作照片库。
例如:
**Trip 1**
[img1] [img2] [img3]
**Trip 2**
[img4] [img5]
我在数据库中有两个表:
category_gallery | gallery
-----------------------------------
id_category | id
name | id_category (foreign_key)
date | link
我怎么能实现这个目标?我已经成功加入了这个表并得到了这样的结果:
id |id_category | name | date | link
------------------------------------------------------------------------
1 | 001 | trip1 | 01-01-2018 | www.xzx.cx/assets/images/001.jpg
2 | 001 | trip1 | 01-01-2018 | www.xzx.cx/assets/images/002.jpg
3 | 002 | trip2 | 02-02-2018 | www.xzx.cx/assets/images/003.jpg
但现在我不知道循环并显示结果,如第一个例子。有什么想法吗?
答案 0 :(得分:1)
创建一个模型函数,将关联数组键指定为行的name
。循环的每个后续项目将添加到正确的子数组中:
$query = $this->db->query('...'); // your query
$rows = $query->result_array();
$data = array();
foreach ($rows as $row) {
// assign assoc array index as name
// all items with the same name will be in the same assoc array
$data[$row['name']][] = $row;
}
return $data;
要显示,只需调用模型功能并执行以下操作:
控制器:
$this->load->model('your_model');
$data['items'] = $this->your_model->the_func();
$this->load->view('some_view', $data);
在视图中:
foreach ($items as $k => $v) {
echo $k . '<br>';
foreach ($v as $i) {
echo $i['link'];
echo '<br>';
}
echo '<br>';
}