Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据表的查询返回NULL_Php_Codeigniter_Datatables - Fatal编程技术网

Php 从数据表的查询返回NULL

Php 从数据表的查询返回NULL,php,codeigniter,datatables,Php,Codeigniter,Datatables,我想知道最好做什么。现在我正在运行一个查询,查看是否返回了任何结果,如果没有返回结果,则返回NULL 在我的控制器上,无论结果集是对象还是NULL,我都会将它发送到我的表中,并回显视图页面上的行 对于我的表,我使用jquery datatables插件。我试图弄清楚,当发送的值为NULL时,如何让它处理数据,这样,当它命中我的foreach循环时,它不会向我显示错误 控制器: $news_articles = $this->news_model->get_news_articles(

我想知道最好做什么。现在我正在运行一个查询,查看是否返回了任何结果,如果没有返回结果,则返回NULL

在我的控制器上,无论结果集是对象还是NULL,我都会将它发送到我的表中,并回显视图页面上的行

对于我的表,我使用jquery datatables插件。我试图弄清楚,当发送的值为NULL时,如何让它处理数据,这样,当它命中我的foreach循环时,它不会向我显示错误

控制器:

$news_articles = $this->news_model->get_news_articles();
$this->data['news_articles'] = $news_articles;
型号:

/**
 * Get news articles
 *
 * @return  object
 */
function get_news_articles()
{   
    $query = $this->db->get($this->news_articles_table);
    if ($query->num_rows() > 0) return $query->result();
    return NULL;
}
视图:

$tmpl = array ( 'table_open'  => '<table class="table" id="newsarticles-table">' );
$data = array('name' => 'newsarticles', 'class' => 'selectall');
$this->table->set_heading(form_checkbox($data), 'ID', 'Date', 'Title');            
$this->table->set_template($tmpl);             
foreach ($news_articles as $row)
{
    $checkbox_data = array(
        'name'        => 'newsarticles',
        'id'          => $row->id
    );
    $this->table->add_row(form_checkbox($checkbox_data), $row->id, $row->date_posted, $row->article_title);
}
echo $this->table->generate(); 
$tmpl=array('table_open'=>'';
$data=array('name'=>'newsacts','class'=>'selectall');
$this->table->set_heading(表格复选框($data),'ID','Date','Title');
$this->table->set_模板($tmpl);
foreach($news\u文章作为$row)
{
$checkbox\u data=array(
“名称”=>“新闻文章”,
'id'=>$row->id
);
$this->table->add\u row(表格复选框($checkbox\u data),$row->id,$row->date\u posted,$row->文章标题);
}
echo$this->table->generate();

我通常使用JSON进行响应,然后添加一个“success”类型的布尔值,然后在尝试处理任何数据之前检查该值。它还提供了一种简单的方法,可以在出现错误时在响应中放置错误消息。

我通常使用JSON进行响应,然后添加一个“success”类型的布尔值,然后在尝试处理任何数据之前检查该值。它还提供了一种简单的方法,可以在出现错误时在响应中放置错误消息。

如果没有结果,只需从模型中返回一个空数组即可。这样你的前腿就不会断了。它不会循环任何内容。

如果没有结果,只需从模型返回一个空数组即可。这样你的前腿就不会断了。它不会在任何事情上循环。

只是另一个想法

型号

function get_news_articles()
{   
    $query = $this->db->get($this->news_articles_table);
    if ($query->num_rows() > 0) return $query->result();
    return FALSE;
}
控制器

$news_articles = $this->news_model->get_news_articles();
if(!$news_articles) $this->data['success'] = FALSE;
else
{
    $this->data['news_articles'] = $news_articles;
    $this->data['success'] = TRUE;
}
视图中的

if($success)
{
    foreach ($news_articles as $row)
    {
        //....
    }
}
else echo "No results found !";
只是另一个想法

型号

function get_news_articles()
{   
    $query = $this->db->get($this->news_articles_table);
    if ($query->num_rows() > 0) return $query->result();
    return FALSE;
}
控制器

$news_articles = $this->news_model->get_news_articles();
if(!$news_articles) $this->data['success'] = FALSE;
else
{
    $this->data['news_articles'] = $news_articles;
    $this->data['success'] = TRUE;
}
视图中的

if($success)
{
    foreach ($news_articles as $row)
    {
        //....
    }
}
else echo "No results found !";

在类似的情况下,我开始返回空集合。保存所有空值检查。您能给我看一个代码示例吗?在get_news_文章中,尝试返回新数组()而不是返回空值。这将返回一个空数组,foreach循环将不会迭代,然后。。。好吧,在这一点上,你要受数据表的支配。我不知道在没有数据的情况下它会做什么。在类似的情况下,我会返回空集合。保存所有空值检查。您能给我看一个代码示例吗?在get_news_文章中,尝试返回新数组()而不是返回空值。这将返回一个空数组,foreach循环将不会迭代,然后。。。好吧,在这一点上,你要受数据表的支配。我不知道没有数据它会做什么。