【发布时间】:2014-02-03 13:53:47
【问题描述】:
这是我在这个网站上的第一个问题,所以我真的一直在寻找答案。 我正在制作一个包含一些活动(培训和实习)的网站,并有一些链接可供查找:
- 未来事件;
- 时事;
- 过去的事件;
因此,这些不是类别,而是动态的并且以这种方式制作(例如,“未来事件”):
Trainings_Controller:
public function future()
{
$this->load->model('trainings_model');
$data['settings'] = $this->trainings_model->get_trainings_list('future');
$this->load->view('trainings_list_view',$data);
}
Trainings_Model:
function get_trainings_list($time)
{
$date = date('Y-m-d');
switch($time) {
case 'future':
$this->db->where('start_date >', $date);
break;
case 'current':
$this->db->where('start_date <', $date);
$this->db->where('end_date >', $date);
break;
case 'past':
$this->db->where('end_date <', $date);
break;
}
$this->db->where('category','1');
$query = $this->db->get('trainings');
return $query->result_array();
}
以及它现在在 VIEWS 中的循环看起来如何(我故意在我的视图中写下所有这些混乱,只是为了向您展示我需要它的外观),我的问题是:
如何让一切变得干净和正确。
<!-- Event Listing -->
<?php foreach ($settings as $item):
$format_start_date = date('d/m/Y', strtotime($item['start_date']));
$format_end_date = date('d/m/Y', strtotime($item['end_date']));
$format_cal_date = date('j/M', strtotime($item['start_date']));
$cal_date = explode('/', $format_cal_date);?>
<div class='evlist'>
<div class='evdate'>
<span class='day'><?=$cal_date[0];?></span>
<span class='month'><?=$cal_date[1];?></span>
</div>
<div class='evdesc'>
<div class='thumb'>
<a href='<?=base_url();?>trainings/view_training/id=<?=$item['id'];?>'>
<img src='<?=base_url();?><?=$item['img_path'];?>' width='113' height='82' alt='' />
</a>
</div>
<div class='desc'>
<h4 class='bold'>
<a href='<?=base_url();?>trainings/view_training/id=<?=$item['id'];?>'>
<?=$item['name_ru'];?>
</a></h4>
<p><?=$item['short_desc_ru'];?></p>
<div class='evdet'>
<span>Сроки проведения: <?=$format_start_date;?> - <?=$format_end_date;?> | </span>
<a href='<?=base_url();?>trainings/view_training/id=<?=$item['id'];?>' class='more txthover'>Read More</a>
</div>
</div>
</div>
</div>
<?php endforeach;?>
请问有什么想法吗?
【问题讨论】:
-
请注意 base_url 带有参数,因此您可以使用以下代码使您的代码更好一点:
<?=base_url('trainings/view_training/id/' . $item['id'])?>,还请确保在每个“foreach”之前检查您可以循环通过对象/array 所以if (empty($settings))...基本上我能补充的就这些了。 -
谢谢你,但我最感兴趣的是如何移动这部分: $format_start_date = date('d/m/Y', strtotime($item['start_date'])); $format_end_date = date('d/m/Y', strtotime($item['end_date'])); $format_cal_date = date('j/M', strtotime($item['start_date'])); $cal_date = explode('/', $format_cal_date);?> from View to Controller or Model, and DO我真的需要在使用 MVC 时这样做吗?
-
我看到了问题。我很快就会给你一个答案。
标签: codeigniter date model-view-controller explode