gpt4 book ai didi

php - 如何在 GROUP_CONCAT 内使用 CONCAT 限制/偏移查询以在 codeigniter 中创建分页

转载 作者:行者123 更新时间:2023-11-30 01:09:45 25 4
gpt4 key购买 nike

我的问题是,我想从图书列表中创建分页,但我只是不知道如何使用事件记录或任何替代方法来做到这一点。这是我想要获取限制和偏移量以便进行分页的查询。

   SELECT books.isbn,
books.title,
GROUP_CONCAT(CONCAT(author.fname,' ',author.lname)) AS FullName,
books.date_published,
books.price,
books.stock,
books.img,
books.summary,
books.status,
bookscategory.id AS bookcategoryid,
bookscategory.bookcategory FROM books
LEFT JOIN bookauthor
ON books.isbn = bookauthor.isbn
LEFT JOIN author
ON bookauthor.aid = author.id
LEFT JOIN bookscategory
ON books.bookcategory = bookscategory.id
WHERE books.stock > 0 GROUP BY books.isbn

提前致谢!

最佳答案

尝试这样的事情,你需要相应地改变它,

您的 Controller :

$limit                      = 20;
/*pagination start*/
$this->load->library('pagination');
$config['base_url'] = base_url().'controller_name/this_function_name/';
$config['total_rows'] = $this->your_model->total_count_books();
$config['per_page'] = 30;
$config['uri_segment'] = 3;
$config['next_link'] = 'Next';
$config['prev_link'] = 'Prev';
$config['cur_tag_open'] = '<span class="active_page">';
$config['cur_tag_close'] = '</span>';
$this->pagination->initialize($config);

$data = array();
$data['books'] = $this->your_model->get_books($limit, $this->uri->segment( 3 ));

您的模型函数:

function total_count_books(){
$sql = "SELECT count( books.isbn ) as total FROM books
LEFT JOIN bookauthor
ON books.isbn = bookauthor.isbn
LEFT JOIN author
ON bookauthor.aid = author.id
LEFT JOIN bookscategory
ON books.bookcategory = bookscategory.id
WHERE books.stock > 0 GROUP BY books.isbn";
$data = $this->db->query( $sql )->row_array();
return $data['total'];
}

function get_books( $limit, $offset = 0 ){
$sql = "SELECT books.isbn,
books.title,
GROUP_CONCAT(CONCAT(author.fname,' ',author.lname)) AS FullName,
books.date_published,
books.price,
books.stock,
books.img,
books.summary,
books.status,
bookscategory.id AS bookcategoryid,
bookscategory.bookcategory FROM books
LEFT JOIN bookauthor
ON books.isbn = bookauthor.isbn
LEFT JOIN author
ON bookauthor.aid = author.id
LEFT JOIN bookscategory
ON books.bookcategory = bookscategory.id
WHERE books.stock > 0 GROUP BY books.isbn";
if( !$offset ){
$offset = 0;
}
$sql .= " Limit {$offset}, {$limit}";
return $data = $this->db->query( $sql )->result_array(); #or ->result();
}

关于php - 如何在 GROUP_CONCAT 内使用 CONCAT 限制/偏移查询以在 codeigniter 中创建分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19535556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com