멤부아트 페이지네이션
페르시아어
$this
1. 콤포넨 세트
Dalam set komponen dibuat dalam bentuk fungsi, dan komponen-komponen yang diperlukan seperti keterangan halaman berapa
$page
, jumlah 페이지 달람 $arr_page
dan Batasan 항목 dalam satu page $limit
, 세페르티 베리쿠트: public $page;
public $limit;
public $offset;
public $totalPages;
public $arr_page;
public $link;
public function setPager($page, $arr_page, $limit, $link)
{
$total = count( $arr_page );
$totalPages = ceil( $total/ $limit );
// proses QC $page input agar dalam batasan range total pages
$page = max($page, 1);
$page = min($page, $totalPages);
$offset = ($page - 1) * $limit;
if( $offset < 0 ) $offset = 0;
// deklarasi page
$this->page = $page;
$this->limit = $limit;
$this->offset = $offset;
$this->totalPages = $totalPages;
$this->arr_page = $arr_page;
$this->link = $link;
}
2. 아이템 달람 페이지
Fungsi berikut akan memanfaatkan komponen yang telah diset untuk menentukan items yang akan ikut dimasukan. Dengan memanfaatkan fungsi php
array_slice
, fungsi akan memotong array
다리 오프셋 양 디잉기칸 파다 리미트 yang diperlukan. public function getArrayPage()
{
$res_testimony_page = array_slice( $this->arr_page, $this->offset, $this->limit );
return $res_testimony_page;
}
3. 멤방군 호출기 Sederhana
dalam fungsi pembuat conteiner pager ini ada beberapa bentuk, tampilan yang dihasilkan cuba berupa keterangan page dan total page, serta tombol next dan prev. Terlihat seperti
<< 1/10 >>
public function getTestiContainerPager()
{
$ret = '<div style="min-width: 300px;">';
if( $this->totalPages != 0 ) {
// Keterangan page aktif sebelah kiri
if( $this->page == 1 ) {
$ret .= '';
}
else {
$ret .= sprintf( '<a href="?' . $this->link . '=%d" style="color: #0f4c75">« prev</a>', $this->page - 1 );
}
// penunjuk total pages
$ret .= ' <span><strong>' . $this->page . '</strong> / ' . $this->totalPages . '</span> ';
// Keterangan page aktif sebelah Kanan
if( $this->page == $this->totalPages ) {
$ret .= '';
}
else {
$ret .= sprintf( '<a href="?' . $this->link .'=%d" style="color: #0f4c75">next »</a>', $this->page + 1 );
}
}
$ret .= '</div>';
return $ret;
}
4. 멩구나칸 코드
$pager = new Pagination();
$pager->setPager(1,50,10,testi.php);
$items_page = $pager->getArrayPage();
$con_pager = $pager->getTestiContainerPager();
완료
케셀루루한 코드
class Pagination
{
private $page;
private $limit;
private $offset;
private $totalPages;
private $arr_page;
private $link;
public function setPager($page, $arr_page, $limit, $link)
{
$total = count( $arr_page );
$totalPages = ceil( $total/ $limit );
$page = max($page, 1);
$page = min($page, $totalPages);
$offset = ($page - 1) * $limit;
if( $offset < 0 ) $offset = 0;
$this->page = $page;
$this->limit = $limit;
$this->offset = $offset;
$this->totalPages = $totalPages;
$this->arr_page = $arr_page;
$this->link = $link;
}
public function getArrayPage()
{
$res_testimony_page = array_slice( $this->arr_page, $this->offset, $this->limit );
return $res_testimony_page;
}
public function getTestiContainerPager()
{
$ret = '<div style="min-width: 300px;">';
if( $this->totalPages != 0 ) {
if( $this->page == 1 ) {
$ret .= '';
}
else {
$ret .= sprintf( '<a href="?' . $this->link . '=%d" style="color: #0f4c75">« prev</a>', $this->page - 1 );
}
$ret .= ' <span><strong>' . $this->page . '</strong> / ' . $this->totalPages . '</span> ';
if( $this->page == $this->totalPages ) {
$ret .= '';
}
else {
$ret .= sprintf( '<a href="?' . $this->link .'=%d" style="color: #0f4c75">next »</a>', $this->page + 1 );
}
}
$ret .= '</div>';
return $ret;
}
}
Reference
이 문제에 관하여(멤부아트 페이지네이션), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andysaktia/membuat-pagger-1c40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)