正在尝试显示消息,但没有结果


Attempting to display message with no results

我"我想知道如何在数据库查询没有返回结果时向用户显示消息。到目前为止,我的查询工作正常。如果消息变量的计数为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');

if (count($messages > 0))应为:if (count($messages) > 0)

不确定这是否能解决你的问题,但这将是朝着正确方向的开始。

建议您首先让应用程序在没有模板库的情况下运行,这将强制您需要的分离。您的控制器管理应用程序决策的流程,但应该很少有关于显示的信息。因此,如果有对个人信息的查询

  • 控制器接收搜索个人信息的请求
  • 过滤搜索输入/执行搜索/返回结果
  • 控制器说,如果没有结果,那么就采用无结果的方法。可能控制器也在传递具有用于用户的搜索项或其他相关信息的数据结构

结果的显示方式-尽可能分开。因此,即使控制器中有一些特定于模板的方法,它们也会被清楚地分离。回报:快速简单地更改设计、模板等。