`

cakephp的分页排序

    博客分类:
  • PHP
阅读更多
cakephp中的分页还是很简单的,下面例子复习下

1 数据表
   CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `firstname` varchar(32) NOT NULL,
  `lastname` varchar(32) NOT NULL,
  `email` varchar(32) NOT NULL,
  `username` varchar(32) NOT NULL,
  `password` varchar(32) NOT NULL,
  PRIMARY KEY (`id`)
)

2 在app/models/user.php 中,代码为:
   <?php
class User extends AppModel{

    var $name = 'User';
?>

3  app/controllers/users_controller.php中
  
function view_users(){
    
        $this->paginate = array(
        'limit' => 2
    );
    
   //users用于在前端页面中显示 
    $this->set('users', $this->paginate('User'));
}




4 页面模版文件中
app/views/users/view_users.ctp
<?php
echo "<div class='page-title'>Users</div>"; //title

//this 'add new user' button will be used for the next tutorial
echo "<div style='float:right;'>";
    $url = "add/";
    echo $form->button('Add New User', array('onclick' => "location.href='".$this->Html->url($url)."'"));
echo "</div>";
echo "<div style='clear:both;'></div>";

if( sizeOf( $users ) > 0 ){ //check if there are user records returned
?>
<table>
    <tr>
    
   <!--第一个参数是表格列的label,第一个参数是排序中实际数据库的字段-->    
         <th style='text-align: left;'><?php echo $paginator->sort('Firstname', 'firstname'); ?></th>
        <th><?php echo $paginator->sort('Lastname', 'lastname'); ?></th>
        <th><?php echo $paginator->sort('Email', 'email'); ?></th>
        <th><?php echo $paginator->sort('Username', 'username'); ?></th>
        <th>Action</th>
    </tr>
    <tr>
    <?php
        foreach( $users as $user ){ //we wil loop through the records to DISPLAY DATA
            echo "<tr>";
                echo "<td>";
                                      echo "{$user['User']['firstname']}";
                echo "</td>";
                echo "<td>{$user['User']['lastname']}</td>";
                echo "<td>{$user['User']['email']}</td>";
                echo "<td>{$user['User']['username']}</td>";
                echo "<td style='text-align: center;'>";
                    //'Edit' and 'Delete' link here will be used for our next tutorials
                    echo $html->link('Edit', array('action'=>'edit/'.$user['User']['id']), null, null);
                    echo " / ";
                    echo $html->link('Delete', array('action'=>'delete/'.$user['User']['id']), null, 'Are you sure you want to delete this record?');
                echo "</td>";
            echo "</tr>";
        }
    ?>
    </tr>
</table>

<?php
    //分页开始
    echo "<div class='paging'>";

    //第一页
      echo $paginator->first('First');
    echo " ";
    
    //前一页
    if($paginator->hasPrev()){
        echo $paginator->prev('<<');
    }
    
    echo " ";
   //指定页数
    echo $paginator->numbers(array('modulus' => 2)); 
    echo " ";
    
   
    if($paginator->hasNext()){ 
        echo $paginator->next('>>');
    }
    
    echo " ";
    //最后一页
    echo $paginator->last('Last');
    
    echo "</div>";
    
}else{ //if there are no records found, display this
    echo "<div class='no-records-found'>No Users found.</div>";
}

?>





1
0
分享到:
评论

相关推荐

    cakephp分页.docx

    ### CakePHP分页详解 #### 一、简介 在现代Web开发中,高效地管理和展示大量数据是一项重要的挑战。为了确保用户体验良好并且服务器资源得到合理利用,开发者们常常需要实现分页功能。对于使用CakePHP框架的应用...

    CakePHP中PageHelper的分页应用

    在CakePHP框架中,PageHelper是一个非常实用的工具,它为开发者提供了便捷的方式来实现应用程序中的分页功能。分页在大型Web应用中至关重要,因为它帮助用户有效地浏览和管理大量数据,而无需一次性加载所有记录。...

    PHP实例开发源码—CakePHP(PHP的框架).zip

    此外,框架还支持分页、排序和搜索等功能,为常见的Web应用需求提供了便利。 总的来说,“PHP实例开发源码—CakePHP(PHP的框架).zip”提供的不仅仅是源码,更是一份深入学习 CakePHP 的宝贵资源。通过研究这些实例...

    cakephp2.x-filter-search-example:一个简单的示例,说明如何在cakephp 2.x上过滤和搜索分页列表

    在本文中,我们将深入探讨如何在CakePHP 2.x框架中实现过滤和搜索功能,以创建一个具有分页的动态用户界面。 CakePHP是基于MVC(模型-视图-控制器)架构的PHP开发框架,它提供了一套强大的工具来简化Web应用的开发。...

    cakephp-orm-notes:只是一个“ CakePHP ORM”食谱

    3. **站长**:这个等级代表你开始深入理解ORM的内部工作原理,包括事务处理(Transactions)、条件查询(Conditions)、分页(Pagination)和排序(Sorting)。你能够有效地管理数据流和性能。 4. **Sous Chef**:...

    cakephp-containable-behavior:CakePHP 可包含的行为

    除了选择包含哪些关联,你还可以对包含的关联应用其他查询条件,如排序、分页等。例如: ```php $users = $this-&gt;Users-&gt;find() -&gt;contain(['Posts' =&gt; function ($query) { return $query-&gt;where(['Posts....

    CakePHP框架Model函数定义方法示例

    `find`方法的参数是一个包含查询配置的数组,如条件、排序、分页等。这里我们确保了博客的状态为1,然后根据传递的条件添加额外的过滤。 当项目规模扩大时,这种定义在Model中的函数可以避免Controller变得过于臃肿...

    PaginatorHelper

    PaginatorHelper 是 CakePHP 框架中的一个重要组件,主要用于帮助开发者实现高效的分页功能。它不仅简化了分页链接的生成过程,还允许用户根据需求定制不同的显示样式。通过PaginatorHelper,我们可以轻松地在网页上...

    CakePHPCRUDCakePHP的快速应用程序开发RAD插件

    5. **数据过滤和排序**:内置数据过滤器和排序功能,方便用户在前端进行数据筛选和排序。 6. **关联模型处理**:处理一对多、多对一、多对多等关联模型的显示和操作。 7. **RESTful API**:支持生成RESTful接口,...

    Pukis:ajax用户管理仪表盘

    特征 : Ajax 用户管理 - Ajax 访问控制列表用户管理Json 配置管理 - 在 json 中为您的应用程序配置设置管理表格助手 - 仅通过配置生成带有排序和分页的表格未来版本计划: 前端 - Angular.js 集成后端 - SOA 架构...

Global site tag (gtag.js) - Google Analytics