Phalcon之简易的分页功能

Controllers\PageController

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/4/20
 * Time: 11:10
 */
use Phalcon\Mvc\Controller;
use Phalcon\Paginator\Adapter\Model as PaginatorModel;

    class PageController extends Controller{

        public function IndexAction(){

            $currentPage = $this->request->getQuery("page","int",1);
            //分配模型管理器
            $builder = $this->modelsManager->createBuilder()
                ->columns('id,name,email,password')
                ->from('Users')
                ->orderBy('id');
            //分页
            $paginator = new \Phalcon\Paginator\Adapter\QueryBuilder(array(
                "builder"=>$builder,
                "limit"  =>5,
                "page"   =>$currentPage,
            ));
            //显示
            $this->view->setVar("page",$paginator->getPaginate());
        }
    }

views\Page\index.phtml

    <table width="50%" border="1">
    <meta http-equiv="Content-Type" content=" charset=utf-8" />
    <?php

    foreach($page->items as $item){
        ?>
        <tr><td><?php echo $item->id;?></td><td><?php echo $item->name;?></td><td><?php echo $item->email;?></td><td><?php echo $item->password;?></td></tr>
        <?php
    }
    ?>
    </table>

    <span>
    <?php
    $cp = $this->request->getQuery("page","int",1);

    if($cp == 1){
    }else{
        ?>
        <a href="<?php echo $this->url->get("../test/Page/index",array("page"=>1));?>">首页</a>
        <?php
    }

    if($cp == 1){
        ?>
        <a href="<?php echo $this->url->get("../test/Page/index",array("page"=>$page->last));?>">上一页</a>
        <?php
    }else{
        ?>
        <a href="<?php echo $this->url->get("../test/Page/index",array("page"=>$page->before));?>">上一页</a>
        <?php
    }

    if($cp == $page->last){
        ?>
        <a href="<?php echo $this->url->get("../test/Page/index",array("page"=>$page->first));?>">下一页</a>
        <?php
    }else{
        ?>
        <a href="<?php echo $this->url->get("../test/Page/index",array("page"=>$page->next));?>">下一页</a>
        <?php
    }
    if($cp == $page->last){
    }else{
        ?>
        <a href="<?php echo $this->url->get("../test/Page/index",array("page"=>$page->last));?>">末页</a>
        <?php
    }
    ?>
        <?php echo "总共 ", $page->current, " /", $page->total_pages; ?>
    </span>

models\users.php

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/3/5
 * Time: 10:30
 */
use Phalcon\Mvc\Model;
class Users extends Model
{
    public $id;

    public $name;

    public $email;
    public $password;


}

数据库users表:


显示界面:



数据插入的比较多就不一一显示了。


笔者水平有限,还会继续努力,请多多指教。

猜你喜欢

转载自blog.csdn.net/weixin_41800559/article/details/80016640