[英]Getting result from a query in a function and count the num_rows in Codeigniter
[英]num_rows() and result_array() in the same function ? codeigniter
我有个问题。 我在模型中具有选择产品的功能:
public function getProducts()
{
$this->db->select(dbColumnProductsId . ',' . dbColumnProductsName . ',' . dbColumnProductsImage . ',' . dbColumnProductsPrice . ',' . dbColumnProductsStock . ',' . dbColumnCategoryId . ',' . dbColumnCategoryName);
$this->db->join(dbTableCategory, dbTableCategory . '.' . dbColumnCategoryId . '=' . dbTableProducts . '.' . dbColumnProductsCategory);
$this->db->order_by(dbColumnProductsId, 'DESC');
$this->db->from(dbTableProducts);
$query = $this->db->get();
if($query->num_rows() > 0)
{
return $query->result_array();
}
return FALSE;
}
但是现在我需要对这些产品进行分页。 如何在同一函数中使用“ num_rows”函数? 这样,就必须创建一个单独的功能。 对不起,我英语不好
您可以将它们都添加到数组中
public function getProducts()
{
$this->db->select(dbColumnProductsId . ',' . dbColumnProductsName . ',' . dbColumnProductsImage . ',' . dbColumnProductsPrice . ',' . dbColumnProductsStock . ',' . dbColumnCategoryId . ',' . dbColumnCategoryName);
$this->db->join(dbTableCategory, dbTableCategory . '.' . dbColumnCategoryId . '=' . dbTableProducts . '.' . dbColumnProductsCategory);
$this->db->order_by(dbColumnProductsId, 'DESC');
$this->db->from(dbTableProducts);
$query = $this->db->get();
$retun_array = array();
$retun_array['rows'] = $query->num_rows();
if($retun_array['rows'] > 0)
{
$retun_array['data']= $query->result_array();
}
return $retun_array;
}
您可以在获取模型返回值后在控制器中使用此函数,例如,如果将返回数据存储在$ retun_array中,则
$rows = $retun_array['rows'];
if($rows > 0){
$data = $retun_array['data']
}
要分页必须经过三个阶段来处理:
不要使用num_rows,因为它太慢了
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.