当我没有从数据库查询返回任何结果时,我试图理解该怎么做是向用户显示一条消息。到目前为止,我的查询工作正常。在这种情况下,计数消息变量为0然后我想要做的是显示一条消息,说明发件箱中没有个人消息。这包括不显示该表。
我想到的是将设置对象属性的行移动到下面的代码之上,然后设置两个单独的构建方法。一个用于何时有结果,一个用于何时没有。然后,如果没有结果,我会建立一个空白的视图,只是说一个随机消息。
对于模板库,我目前正在使用Phil Sturgeon的模板库。
https://github.com/jeffreydavidson/codeigniter-template
我正在寻求一些更好的可能性。有人可以帮忙吗?
$messages = $this->messages->get_many_by('sender_id', $this->session->userdata('user_id'));
//vardump($messages); die();
if (count($messages > 0))
{
$tmpl = array('table_open' => '<table class="table table-bordered table-condensed table-striped table-vertical-center checkboxs js-table-sortable">', 'row_start' => '<tr class="selectable">');
$this->table->set_template($tmpl);
$this->table->set_heading('', 'To', 'Subject', 'Date', 'Actions');
foreach ($messages AS $message)
{
$this->table->add_row('', $message->receiver_id, $message->subject, date('F d, Y', strtotime($message->date_sent)), '<a href="'. site_url() .'wrestling-manager/personal-messages/sent/delete/' . $message->id .'" class="btn-action glyphicons remove_2 btn-danger"><i></i></a>');
}
}
else
{
echo 'test';
}
$this->template
->title('Personal Messages Sent')->set_layout('control_panel_view')
->set_partial('sidebar', 'partials/sidebar')
->set('user_data', $this->user->with('character')->get($this->session->userdata('user_id')))
->build('sent_view');
答案 0 :(得分:2)
if (count($messages > 0))
应该是:if (count($messages) > 0)
不确定这是否会解决您的问题,但这将是一个正确方向的开始。
答案 1 :(得分:2)
建议您首先让应用程序在没有模板库的情况下运行 - 这将强制执行您需要的分离。您的控制器管理应用程序决策的流程,但应该没有关于显示的信息。因此,如果有个人消息的查询
如何显示结果 - 尽可能分开。所以即使控制器中有一些特定于模板的方法,它们也会被清楚地分开。回报:快速轻松地更改设计,模板等。