Php Codeigniter显示查询结果的正确方法
这就是我输出查询结果的方式,但我想知道这是否正确。。 在我看来,当我在做一些php逻辑时,我更喜欢把它放在我的控制器中,不是吗 有人能告诉我这是应该怎么做的,还是我可以如何改进我的代码 控制者:Php Codeigniter显示查询结果的正确方法,php,codeigniter,view,controller,modal-dialog,Php,Codeigniter,View,Controller,Modal Dialog,这就是我输出查询结果的方式,但我想知道这是否正确。。 在我看来,当我在做一些php逻辑时,我更喜欢把它放在我的控制器中,不是吗 有人能告诉我这是应该怎么做的,还是我可以如何改进我的代码 控制者: public function reservations() { $this->load->model('admin_model'); $data = $this->admin_model->get_reservations(); $this->l
public function reservations()
{
$this->load->model('admin_model');
$data = $this->admin_model->get_reservations();
$this->load->view('view_reservations', $data);
}
型号:
function get_reservations()
{
$this->db->select('*');
$this->db->from('t_reservation');
$data['query'] = $this->db->get();
return $data;
}
视图:
那么,有没有一种方法可以将php逻辑从我的视图中删除,放到控制器中的某个位置,并拥有一个更清晰的视图?您的视图应该尽可能少地使用php 控制器应该有
$data
声明,并且模型应该从数据库返回数据
您的for循环似乎有点不必要。你真的只需要一个“开始日期”和“结束日期”。您可以将其放入模型或控制器中,这取决于您是否希望在每次调用get\u reservations
时返回这些值
控制器
public function reservations()
{
$this->load->model('admin_model');
$data['reservations'] = $this->admin_model->get_reservations();
$this->load->view('view_reservations', $data);
}
public function reservations()
{
$this->load->model('admin_model');
$reservations = $this->admin_model->get_reservations();
foreach ($reservations as $reservation)
{
$data['reservation'] = $reservation;
$this->load->view('view_reservation', $data);
}
}
型号
function get_reservations()
{
$reservations = $this->db->get('t_reservation')->result();
foreach ($reservations as $reservation)
{
$reservation->start_date = date("d-m-Y", strtotime($reservation->date));
$reservation->end_date = date("d-m-Y", strtotime(date("Y-m-d", strtotime($reservation->date)) . " +".$reservation->days." day"));
}
return $reservations;
}
查看
我已经编辑了您的视图,因为我猜您希望每个结果都在一个单独的行中
<? foreach ($reservations as $reservations): ?>
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
<? endforeach ?>
查看
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
-
您的视图应该尽可能少使用PHP
控制器应该有$data
声明,并且模型应该从数据库返回数据
您的for循环似乎有点不必要。你真的只需要一个“开始日期”和“结束日期”。您可以将其放入模型或控制器中,这取决于您是否希望在每次调用get\u reservations
时返回这些值
控制器
public function reservations()
{
$this->load->model('admin_model');
$data['reservations'] = $this->admin_model->get_reservations();
$this->load->view('view_reservations', $data);
}
public function reservations()
{
$this->load->model('admin_model');
$reservations = $this->admin_model->get_reservations();
foreach ($reservations as $reservation)
{
$data['reservation'] = $reservation;
$this->load->view('view_reservation', $data);
}
}
型号
function get_reservations()
{
$reservations = $this->db->get('t_reservation')->result();
foreach ($reservations as $reservation)
{
$reservation->start_date = date("d-m-Y", strtotime($reservation->date));
$reservation->end_date = date("d-m-Y", strtotime(date("Y-m-d", strtotime($reservation->date)) . " +".$reservation->days." day"));
}
return $reservations;
}
查看
我已经编辑了您的视图,因为我猜您希望每个结果都在一个单独的行中
<? foreach ($reservations as $reservations): ?>
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
<? endforeach ?>
查看
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
-
您的视图应该尽可能少使用PHP
控制器应该有$data
声明,并且模型应该从数据库返回数据
您的for循环似乎有点不必要。你真的只需要一个“开始日期”和“结束日期”。您可以将其放入模型或控制器中,这取决于您是否希望在每次调用get\u reservations
时返回这些值
控制器
public function reservations()
{
$this->load->model('admin_model');
$data['reservations'] = $this->admin_model->get_reservations();
$this->load->view('view_reservations', $data);
}
public function reservations()
{
$this->load->model('admin_model');
$reservations = $this->admin_model->get_reservations();
foreach ($reservations as $reservation)
{
$data['reservation'] = $reservation;
$this->load->view('view_reservation', $data);
}
}
型号
function get_reservations()
{
$reservations = $this->db->get('t_reservation')->result();
foreach ($reservations as $reservation)
{
$reservation->start_date = date("d-m-Y", strtotime($reservation->date));
$reservation->end_date = date("d-m-Y", strtotime(date("Y-m-d", strtotime($reservation->date)) . " +".$reservation->days." day"));
}
return $reservations;
}
查看
我已经编辑了您的视图,因为我猜您希望每个结果都在一个单独的行中
<? foreach ($reservations as $reservations): ?>
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
<? endforeach ?>
查看
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
-
您的视图应该尽可能少使用PHP
控制器应该有$data
声明,并且模型应该从数据库返回数据
您的for循环似乎有点不必要。你真的只需要一个“开始日期”和“结束日期”。您可以将其放入模型或控制器中,这取决于您是否希望在每次调用get\u reservations
时返回这些值
控制器
public function reservations()
{
$this->load->model('admin_model');
$data['reservations'] = $this->admin_model->get_reservations();
$this->load->view('view_reservations', $data);
}
public function reservations()
{
$this->load->model('admin_model');
$reservations = $this->admin_model->get_reservations();
foreach ($reservations as $reservation)
{
$data['reservation'] = $reservation;
$this->load->view('view_reservation', $data);
}
}
型号
function get_reservations()
{
$reservations = $this->db->get('t_reservation')->result();
foreach ($reservations as $reservation)
{
$reservation->start_date = date("d-m-Y", strtotime($reservation->date));
$reservation->end_date = date("d-m-Y", strtotime(date("Y-m-d", strtotime($reservation->date)) . " +".$reservation->days." day"));
}
return $reservations;
}
查看
我已经编辑了您的视图,因为我猜您希望每个结果都在一个单独的行中
<? foreach ($reservations as $reservations): ?>
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
<? endforeach ?>
查看
<div class="row">
<?= $reservation->name ?>
<?= $reservation->price ?>
<?= $reservation->start_date ?> - <?= $reservation->end_date ?>
</div><!-- /.row -->
-
这确实更干净了,也是我想要的。非常感谢!这确实是更干净的方式,我希望它是这样的。非常感谢!这确实是更干净的方式,我希望它是这样的。非常感谢!这确实是更干净的方式,我希望它是这样的。非常感谢!