Thuật toán phân trang thông tin theo tuần

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.

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 :slight_smile:

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 ạ.

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?