public function home($id=null){
$this->loadModel('Usermgmt.User');
if(isset($id)){
$groups=$this->User->findAllByuser_group_id($id);
$this->set('groups', $groups);
} else{
echo 'no id';
$users=$this->User->find('all');
$this->set('users', $users);
}
}
这里我的geeting值与user_group_id匹配并打印在这里我打算超过10个用户,但我需要在一个页面上打印只需要分页5并且需要分页如何在这里给出分页
查看
<?php
if (!empty($groups)) {
// print_r($groups);
$sl=0;
foreach ($groups as $row1) {
//print_r($row1);
$sl++; ?>
<div style="width:100%;display:inline-block;">
<div style="float:left">
<?php
//echo $row1['id'];
echo $this->Html->link($this->Html->image('../files/user/photo/'.$row1 ['User']['photo_dir'].'/'.$row1 ['User']['photo'], array('width' => '180', 'height' => '180')),
array('controller'=>'Profiles','action'=>'index',$row1['User']['id']),
array('escape' => false));
?>
</div>
<div>
<?php echo h($row1['User']['first_name'])." ".h($row1['User']['last_name'])."</br>";
echo h($row1['User']['username'])."</br>";
echo h($row1['User']['email'])."</br>";
echo h($row1['User']['mobile'])."</br>";
echo h($row1['UserGroup']['name'])."</br>";
?></div>
<div style="clear:both;"></div>
</div>
<?php }
}?>
答案 0 :(得分:2)
对此的等效paginate调用:
$groups=$this->User->findAllByuser_group_id($id);
(顺便说一下 - 应该是findAllByUserGroupId
)是这样的:
$groups = $this->paginate('User', array('user_group_id' => $id));
实现:
我只需要在一页上打印5个
修改控制器的paginate属性,例如:
class UsersController extends AppController {
public $paginate = array('limit' => 5);
function home($id = null) {
...
$conditions = array();
if ($id) {
$conditions['user_group_id'] = $id;
}
$groups = $this->paginate('User', $conditions);
...
}
}
在您看来,分页帮助程序和分页信息将通过调用paginate自动显示,如上所示。要获取分页链接,请使用the pagination helper:
echo $this->Paginator->numbers();
有关使用分页的更多信息和示例,请参阅the documentation。
答案 1 :(得分:0)
在cakephp中,可以使用cakephp的分页帮助程序进行分页
在控制器操作中,使用$ this-&gt; paginate。从Model返回所有参数,如字段,条件等,以数组格式,所以现在在控制器中你将写
$data = $this->ModelName->functionname();
$currentPage = isset($_REQUEST['currentpage']) ? $_REQUEST['currentpage'] : '';
$this->paginate = array(
'fields' => $data['fields'],
'conditions' => $data['conditions'],
'order' => $data['order'],
'page' => $currentPage,
'limit' => 25
);
$ currentPage是从$ _REQUEST [&#39;当前页&#39;]获取的;
最后将此数据传递给Paginate Helper
$data = $this->paginate('ModelName');
现在在视图中您将使用如下所示的分页功能
<?php echo $this->Paginator->prev('revious'); ?>
<?php echo $this->Paginator->numbers(); ?>
<?php echo $this->Paginator->next('Next'); ?>