thinkphp에서 페이징 표시를 구현하는 방법

PHPz
풀어 주다: 2023-04-11 11:30:41
원래의
1040명이 탐색했습니다.

ThinkPHP는 PHP 기반의 오픈 소스 프레임워크이며 웹 개발에 널리 사용됩니다. 실제 개발 과정에서는 페이징 기능을 사용하는 경우가 많습니다. 이번 글에서는 ThinkPHP에서 페이징 기능을 사용하는 방법을 소개합니다.

아이디어 및 단계:

ThinkPHP는 기본적으로 Bootstrap 스타일을 사용하며 페이징 기능은 TP의 페이지 매김 방법을 통해 구현됩니다. paginate 메소드는 페이징 클래스 TPpaginate를 상속하고 페이징 탐색, 페이징 결과 및 기타 정보가 포함된 페이징 문자열을 반환합니다. 다음은 페이징의 구체적인 구현 단계입니다.

1단계: TP 확장 클래스를 설치합니다(TP는 페이징 클래스와 함께 제공됩니다).

composer require topthink/think-pagination
로그인 후 복사

2단계: 컨트롤러에서 페이징 매개변수를 설정합니다.

$page = input('page') ?: 1;  //获取页码数,默认为第一页
$limit = 10;  //每页显示记录数
$start = ($page - 1) * $limit;  
//起始记录索引,例如:第一页 $start=0,第二页 $start=10...

$list = Db::name('user')->limit($start, $limit)->select();
$count = Db::name('user')->count();  // 获取总记录数

$this->assign([
    'list' => $list,
    'count' => $count,
    'limit' => $limit
]);
로그인 후 복사

3단계: 보기 파일에 페이징 정보를 표시합니다.

paginate() 메소드를 통해 페이징 정보를 얻고, 이전 페이지, 다음 페이지 등의 버튼이 있는 페이지네이터 형태로 문자열을 반환합니다. 페이징 내용을 표시하기 위해 반환된 문자열을 뷰 파일에 직접 인쇄합니다.

// 分页
echo $list->render();
로그인 후 복사

특정 코드 및 예시:

컨트롤러 코드 예시:

public function index()
{
    $page = input('page') ?: 1;  //获取页码数,默认为第一页
    $limit = 10;  //每页显示记录数
    $start = ($page - 1) * $limit;  
    //起始记录索引,例如:第一页 $start=0,第二页 $start=10...

    $list = Db::name('user')->limit($start, $limit)->select();
    $count = Db::name('user')->count();  // 获取总记录数

    $this->assign([
        'list' => $list,
        'count' => $count,
        'limit' => $limit
    ]);

    return $this->fetch();
}
로그인 후 복사

코드 예시 보기:

// 渲染表格

    
        
        
        
    


// 分页
echo $list->render();
로그인 후 복사

위 코드는 간단한 페이징 기능을 구현한 것으로, TP의 paginate 메소드를 통해 쉽게 구현할 수 있습니다. 실제 개발에 있어서도 쉽게 사용할 수 있을 것이라 믿습니다.

요약:

TP에서 페이징 기능을 구현하려면 여러 단계가 필요하며 실제 개발 요구 사항에 따라 지속적으로 조정되어야 합니다. 하지만 일반적으로 TP에서 제공하는 paginate 방식을 호출하는 방법은 상대적으로 간단하고 성능이나 가독성 측면에서 상당한 장점이 있습니다.

위 내용은 thinkphp에서 페이징 표시를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿