Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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 codeigniter中的未定义索引错误_Php_Codeigniter - Fatal编程技术网

Php codeigniter中的未定义索引错误

Php codeigniter中的未定义索引错误,php,codeigniter,Php,Codeigniter,我试图从数据库中获取两个值“电影总数”和“电影详细信息”。 对于电影总数,我返回php错误“undefined_index:num_films”。 请帮帮我 Sakila_控制 <?php class Sakila_control extends CI_Controller { function display($offset=0) { $limit = 20; $this->load->model('films_model')

我试图从数据库中获取两个值“电影总数”和“电影详细信息”。 对于电影总数,我返回php错误“undefined_index:num_films”。 请帮帮我

Sakila_控制

<?php

class Sakila_control extends CI_Controller
{
    function display($offset=0)
    {
        $limit = 20;
        $this->load->model('films_model');
        $result = $this->films_model->search($limit,$offset);
        $data['films']=$result['rows'];
        $data['num_results']=$result['num_films'];



    $this->load->view('films_view',$data);

    }
    }
电影
身份证件
标题
描述
类别
价格
长度

根据您的代码,您将在第一次查询之后返回值。因此,您的函数不会返回
num\u films
class Films_model extends CI_Model
{
    function search($limit,$offset)
    {
       $qu = $this->
               db->select('FID,title,description,category,price,length,rating,actors')
                ->from('film_list')
                ->limit($limit,$offset);
       //rows comes from controller  
        $ret['rows']= $qu->get()->result();
       // return $ret;


        $q = $this->db->select('COUNT(*) as count`, FALSE)
                ->from('film_list');
        //num_rows comes from controller  
        $tmp= $q->get()->result();

       $ret['num_films']=$tmp[0]->count;

       return $ret;
    }
}

在同一个

中选中多个返回,首先您需要注释掉以下内容:

 // return $ret;
然后,您需要用backticks修复另一个错误,因为return语句,您还没有得到这个错误

PHP中的Backticks将尝试从命令行运行代码

更改此项:

$q = $this->db->select(`COUNT(*) as count`, FALSE)
为此:

$q = $this->db->select('COUNT(*) as count', FALSE)
最终结果:

<?php

class Films_model extends CI_Model
{
    function search($limit,$offset)
    {
       $qu = $this->
               db->select('FID,title,description,category,price,length,rating,actors')
                ->from('film_list')
                ->limit($limit,$offset);
       //rows comes from controller  
        $ret['rows']= $qu->get()->result();

        $q = $this->db->select('COUNT(*) as count', FALSE)
                ->from('film_list');
        //num_rows comes from controller  
        $tmp= $q->get()->result();

       $ret['num_films']=$tmp[0]->count;

       return $ret;
    }
}
这个怎么样

在型号中

class Films_model extends CI_Model
{
    function search($limit,$offset)
    {
        # Just pass all data to controller
        $query = $this->db->query("SELECT * FROM film_list LIMIT $limit, $offset");
        $result = $query->result_array(); # Changed
        return $result;
    }
}
在控制器中

class Sakila_control extends CI_Controller
{
    function display()
    {
        $limit = 20;
        $offset=0

        $this->load->model('films_model');
        $data['films'] = $this->films_model->search($limit,$offset);

        $count = count($data['films']); # get count on here 
        $data['num_results'] = $count;
        $this->load->view('films_view',$data);
    }
}
在视图中


一切正常,由您决定

最后在函数中返回
$tmp
的值是多少?你能
var\u转储($tmp)这样我们就可以看到它的内容了?当我把它放在函数的末尾时,它给出了另一个错误消息:未定义的属性:stdClass::$count Filename:models/films\u model.php行号:20@zeeshanhaider:我更新了我的答案,请再次检查。这是因为我在阅读了您的更新代码后删除了`````````,但这对我没有帮助。显示您的表。你可以在你的问题中更新它。当我把代码q=$this->db->select('COUNT(*)as COUNT',FALSE)->from('film_list');它给出了错误消息:无法访问空属性文件名:models/films\u model.php行号:15视图中的计数应为
$num\u results
修改后,我收到错误消息:调用未定义的方法CI\u DB\u mysqli\u driver::result\u array()文件名:models/films_model.phpoopz wait smallmistake@zeeshanhaider马上查,伙计。它只返回0个胶片,只显示标题行
class Films_model extends CI_Model
{
    function search($limit,$offset)
    {
        # Just pass all data to controller
        $query = $this->db->query("SELECT * FROM film_list LIMIT $limit, $offset");
        $result = $query->result_array(); # Changed
        return $result;
    }
}
class Sakila_control extends CI_Controller
{
    function display()
    {
        $limit = 20;
        $offset=0

        $this->load->model('films_model');
        $data['films'] = $this->films_model->search($limit,$offset);

        $count = count($data['films']); # get count on here 
        $data['num_results'] = $count;
        $this->load->view('films_view',$data);
    }
}