Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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_Mysql_Codeigniter - Fatal编程技术网

Php Codeigniter将实际行数(不限于)从模型传递到控制器

Php Codeigniter将实际行数(不限于)从模型传递到控制器,php,mysql,codeigniter,Php,Mysql,Codeigniter,只想使用Codeigniter显示分页的搜索结果和结果数(例如“Find 17 results”)。一切正常,但它显示“找到5个结果”,而不是“找到17个结果”。请检查下面的代码,并帮助我将实际行数(不限于)从模型传递到控制器 我的模型: public function did_get($city, $limit, $offset) { $this->db->select('*'); $this->db->from('table'); $th

只想使用Codeigniter显示分页的搜索结果和结果数(例如“Find 17 results”)。一切正常,但它显示“找到5个结果”,而不是“找到17个结果”。请检查下面的代码,并帮助我将实际行数(不限于)从模型传递到控制器

我的模型:

public function did_get($city, $limit, $offset) { 

    $this->db->select('*');
    $this->db->from('table');

    $this->db->where('city', $city); 

    $query = $this->db->get();

    $this->db->limit($limit, $offset);   

    if ($query && $query->num_rows() > 0) {

        return $query->result_array();
    } else {
        return false;
    }
}
我的控制器:

            if ($this->model_get->did_get($city, $limit, $offset)) {

            $data["count"] = $this->model_get->did_get_count($city);

            $data["results"] = $this->model_get->did_get($city, $limit, $offset);

            $this->load->view("view_results",$data);                    

我无法对此进行测试,但请检查以下内容:

public function did_get($city, $limit, $offset) { 

    $this->db->select('*');
    $this->db->from('table');

    $this->db->where('city', $city); 

    $query = $this->db->get();

    $array["count"] = $query->num_rows();

    $this->db->limit($limit, $offset);   

    if ($query && $query->num_rows() > 0) {

        $array["results"] = $query->result_array();
    } else {
        $array["results"] = false;
    }
    return $array;
}
然后,在控制器中,您可以轻松访问数据:

$limit = 5;

$this->load->view("view_results",$this->model_get->did_get($city, $limit, $offset)); 

我无法对此进行测试,但请检查以下内容:

public function did_get($city, $limit, $offset) { 

    $this->db->select('*');
    $this->db->from('table');

    $this->db->where('city', $city); 

    $query = $this->db->get();

    $array["count"] = $query->num_rows();

    $this->db->limit($limit, $offset);   

    if ($query && $query->num_rows() > 0) {

        $array["results"] = $query->result_array();
    } else {
        $array["results"] = false;
    }
    return $array;
}
然后,在控制器中,您可以轻松访问数据:

$limit = 5;

$this->load->view("view_results",$this->model_get->did_get($city, $limit, $offset)); 

您只需删除limit子句并获取实际计数

public function did_get($city, $limit=0, $offset=0) 
{ 

    $this->db->select('*');
    $this->db->from('table');

    $this->db->where('city', $city); 

    $query = $this->db->get();

    //set limit only if $limit and $offset are provided
    if($limit && $offset) $this->db->limit($limit, $offset);   

    if ($query && $query->num_rows() > 0) 
    {
        return $query->result_array();
    } 
    else 
    {
        return false;
    }
}
你的控制器呢

$data["results"] = $this->model_get->did_get($city);
$data['count'] = count($data["results"]);              
$this->load->view("view_results",$data); 

您只需删除limit子句并获取实际计数

public function did_get($city, $limit=0, $offset=0) 
{ 

    $this->db->select('*');
    $this->db->from('table');

    $this->db->where('city', $city); 

    $query = $this->db->get();

    //set limit only if $limit and $offset are provided
    if($limit && $offset) $this->db->limit($limit, $offset);   

    if ($query && $query->num_rows() > 0) 
    {
        return $query->result_array();
    } 
    else 
    {
        return false;
    }
}
你的控制器呢

$data["results"] = $this->model_get->did_get($city);
$data['count'] = count($data["results"]);              
$this->load->view("view_results",$data); 

既然需要保留分页的limit子句,为什么不返回一个包含两个值的数组呢

你的模型

你的控制器


既然需要保留分页的limit子句,为什么不返回一个包含两个值的数组呢

你的模型

你的控制器



我想我不理解这个问题……也许我无法解释这个问题。例如,我从数据库中获得17行,并使用分页方式显示它们(每页5行)。我还想显示“已找到17行”。因此,我需要将模型中的行数17传递给视图。当我使用LIMIT选项时,它返回的行数是5而不是17。您想增加限制还是完全取消限制?啊!好啊也许你可以返回一个数组。在$arr[“rows”]中保存行数,在$arr[“result”]中保存有限的行集是,但不知道如何从一个模型返回两个数组。我想我不理解这个问题……也许我无法解释这个问题。例如,我从数据库中获得17行,并使用分页方式显示它们(每页5行)。我还想显示“已找到17行”。因此,我需要将模型中的行数17传递给视图。当我使用LIMIT选项时,它返回的行数是5而不是17。您想增加限制还是完全取消限制?啊!好啊也许你可以返回一个数组。在$arr[“行”]中保存行数,在$arr[“结果”]中保存有限的行数。是的,但不知道如何从一个模型返回两个数组。我需要限制和偏移量,因为我使用codeigniterpagination@EducateYourself那么,,我会说,只需编写一个函数,返回可用于显示的总计数。您是指模型中的2个函数吗?一个用于返回结果,另一个用于返回行数?@EducateyYourself-是的,它效率不高,但是它可以在不干扰任何现有代码的情况下执行您需要的操作。只要让
$data['count']=$this->model\u get->did\u get\u count($city)
,其中
did\u get\u count()
将是同一个函数,但返回count或records,并且不会有限制或偏移。我认为可以使用一个函数。不管怎样,我将尝试使用两个函数。我需要限制和偏移,因为我使用codeigniterpagination@EducateYourself在这种情况下,我会说只需编写一个函数,返回可用于显示的总计数。您是指模型中的2个函数吗?一个用于返回结果,另一个用于返回行数?@EducateyYourself-是的,它效率不高,但是它可以在不干扰任何现有代码的情况下执行您需要的操作。只要让
$data['count']=$this->model\u get->did\u get\u count($city)
,其中
did\u get\u count()
将是同一个函数,但返回count或records,并且不会有限制或偏移。我认为可以使用一个函数。无论如何,我将尝试使用两个函数。它仍然显示“找到5个结果”它仍然显示“找到5个结果”这正是我需要的,但我不理解为什么它仍然显示“找到5个结果”。你能检查一下$count有什么问题吗?我不知道该怎么告诉你。表中可能只有5行吗?您是否使用了我为控制器和模型提供的所有代码?它应该工作正常。是的,表中有5行以上。我甚至尝试在我的模型中使用两个函数,但结果是一样的。请检查我更新的问题。如果您使用
did\u get\u count()
作为行数,但仍然获取错误的行数,则可能是您的数据库。你能不能在你的问题中包括这一点?这正是我需要的,但我无法理解为什么它仍然显示“发现了5个结果”。你能检查一下$count有什么问题吗?我不知道该怎么告诉你。表中可能只有5行吗?您是否使用了我为控制器和模型提供的所有代码?它应该工作正常。是的,表中有5行以上。我甚至尝试在我的模型中使用两个函数,但结果是一样的。请检查我更新的问题。如果您使用
did\u get\u count()
作为行数,但仍然获取错误的行数,则可能是您的数据库。你能不能在你的问题中包括这一点?