zend frameworkページング(Zend_Paginator_Adapter_Null定義$paginator)
19838 ワード
ネット上でzend frameworkがfectall()ではないページの中国語の参考はめったにありません.ここでは初心者の参考を提供します.
//controllerコントローラメソッド
find.phtml viewレイヤ
pager.phtmlページング層
注意:fetchAll()メソッドを使用してすべてのレコードを問合せ、$paginator=Zend_Paginator::factory($userArray);メソッドは$paginatorを定義し、データ量の大きい環境では使用できません.学習時にしか使用できません.本論文では
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($count));
メソッド$paginator効率がfactoryより高い方法を定義します!
ヒントが見つからない場合Zend_Paginator_Adapter_Nullは手動でロードできます:Zend_Loader::loadClass('Zend_Paginator_Adapter_Null');
本文は“林清楊--技術ブログ”のブログから出て、転載をお断りします!
//controllerコントローラメソッド
- //controler
- public function findAction()
- {
-
- $this->view->results = " ";
-
- $basUser=new BasUser();
- // model
- $count=$basUser->getAdapter()->fetchOne("SELECT count(*) FROM Bas_User");
- // basuser , fetchAll() , , cout(*) fetchAll()
- //
- $page = $this->_request->getParam('page', 1);
- // page,
- $rows=$basUser->fetchAll('true','userId',5,($page-1)*5); //
- // basuser userId
- $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($count));
-
- $paginator->setItemCountPerPage(5); // 20
- $paginator->setCurrentPageNumber($page);
-
-
- $this->view->basUsers=$rows;
- $this->view->paginator = $paginator ; // paginator view
-
- $this->render("index/find",null,true);
- }
find.phtml viewレイヤ
- <html>
- <body>
- <style>
- /* */
- .pages{font-size:12px; color:#000; text-align:center; zoom:1; padding:10px 0; }
- .pages a{display:inline-block;padding:3px 5px 2px 5px;text-indent:0;width:16px;}
- .pages span{font-size:12px; margin:0px 2px;padding:3px 5px 1px 5px;text-align:center;border:1px solid #D1E7FF;color:#075aaa;font-weight:bold;cursor:pointer;}
- .pages .pagesOn{color:#000; border-color:#fff}
- .pages .disabled{color:#999; border-color:#999; cursor:default;}
- </style>
- <h1>Example</h1>
- <table>
- <tr>
- <th> </th>
- <th> </th>
- </tr>
- <?php
- foreach ($this->basUsers as $key => $value) {
- ?>
- <tr>
- <td>
- <?php
- echo $value['userId'];
- echo $value['userName'];?>
- </td>
- <td>
- <?php
- echo $value['userPassword']?>
- </td>
- </tr>
- <?php
- }
- ?>
- </table>
-
- <?php echo $this->paginationControl($this->paginator,
- 'Sliding',
- 'index/pager.phtml'); ?>
- </body>
- </html>
pager.phtmlページング層
- <!--
- See http://developer.yahoo.com/ypatterns/pattern.php?pattern=searchpagination
- -->
-
- <?php if ($this->pageCount): ?>
- <div class="pages">
- <!-- Previous page link -->
- <?php if (isset($this->previous)): ?>
- <span><a href="<?php echo $this->url(array('page' => 1)); ?>">
- <<
- </a></span>
- <span><a href="<?php echo $this->url(array('page' => $this->previous)); ?>">
- <
- </a></span>
-
- <?php else: ?>
- <span class="disabled"><<</span>
- <span class="disabled"><</span>
- <?php endif; ?>
-
- <!-- Numbered page links -->
- <?php foreach ($this->pagesInRange as $page): ?>
- <?php if ($page != $this->current): ?>
- <span><a href="<?php echo $this->url(array('page' => $page)); ?>">
- <?php echo $page; ?>
- </a></span>
- <?php else: ?>
- <span class="pagesOn">
- <?php echo $page; ?>
- </span>
- <?php endif; ?>
- <?php endforeach; ?>
-
- <!-- Next page link -->
- <?php if (isset($this->next)): ?>
- <span><a href="<?php echo $this->url(array('page' => $this->next)); ?>">
- >
- </a></span>
- <span><a href="<?php echo $this->url(array('page' => $this->pageCount)); ?>">
- >>
- </a></span>
- <?php else: ?>
- <span class="disabled">></span>
- <span class="disabled">>></span>
- <?php endif; ?>
- </div>
- <?php endif; ?>
注意:fetchAll()メソッドを使用してすべてのレコードを問合せ、$paginator=Zend_Paginator::factory($userArray);メソッドは$paginatorを定義し、データ量の大きい環境では使用できません.学習時にしか使用できません.本論文では
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_Null($count));
メソッド$paginator効率がfactoryより高い方法を定義します!
ヒントが見つからない場合Zend_Paginator_Adapter_Nullは手動でロードできます:Zend_Loader::loadClass('Zend_Paginator_Adapter_Null');
本文は“林清楊--技術ブログ”のブログから出て、転載をお断りします!