Cho em hỏi có thuật toán nào có thể phân trang thông tin theo từng tuần được không. Kiểu như có thể sắp thêm thông tin được đăng theo thứ tự thời gian trong tuần ạ. Nếu có cách viết theo mô hình MVC càng tốt. Em chân thành cảm ơn.
Thuật toán phân trang thông tin theo tuần
bạn biết làm phân trang chưa?
5 Likes
Dạ em đã biết cách phân trang thông thường r ạ.
Tuần tương đương với từ ngày a đến ngày b. Phải xác định được 2 ngày này trước.
Phân trang bình thường, chỉ khác câu truy vấn thì có thêm khoảng thời gian.
Từ khóa: sql datetime between two dates
3 Likes
Cái này là nghiệp vụ. Có lẽ phải thêm table.
2 Likes
Em vẫn chưa hiểu lắm. Nếu làm như vậy thì có phải bỏ đi “$soluongtin1trang” và thêm câu truy vấn where không ạ. Xin cao nhân chỉ giáo ạ.
controller
class Sdb extends CI_Controller {
private $soluongtin1trang;
public function __construct()
{
parent::__construct();
$this->soluongtin1trang=10;
}
public function page($trang)
{
$this->load->model('sdb_model');
$dulieu = $this->sdb_model->loadtintheotrang($trang,$this->soluongtin1trang);
$sotrang= $this->sdb_model->sotrang($this->soluongtin1trang);
$dulieu = array(
'mangkq' => $dulieu ,
'sotrang' => $sotrang,
);
$this->load->view('sodaubai_pages', $dulieu);
}
model
public function sotrang($sotintrong1trang)
{
$this->db->select('*');
$kq2 = $this->db->get('sodaubai');
$kq2 = $kq2-> result_array();
$soluongtin=count($kq2);
$sotrang=ceil($soluongtin/$sotintrong1trang);
return $sotrang;
}
public function loadtintheotrang($trangthumay,$sotintrong1trang)
{
$this->db->select('*');
$vitri=($trangthumay-1)*$sotintrong1trang;
$kq = $this->db->get('sodaubai',$sotintrong1trang,$vitri);
$kq = $kq-> result_array();
return $kq;
}
Đúng vậy, giờ phải viết lại câu truy vấn
3 Likes
Nên sửa thế nào ạ. Em mò mẫm gần 2 tiếng vẫn không làm được. Xin được cao nhân chỉ giáo ạ.