发个分页类,顺便招人
避免大家重复的造轮子,哈哈.
广告,我们公司要招2个PHP,坛子里的兄弟可以直接联系我,提供住宿。薪资>=3K
在江苏昆山花桥国际商务城,上海过来有直达的车子。
要求:
1、PHP基础牢固
2、熟练掌握HTML、JavaScript、CSS,熟悉DOM , 熟练手写html代码
3、熟悉MySQL数据库
4、有高负荷网站开发经验者为佳
5、用过smarty为佳
联系QQ: 253220642
联系电话: 0512-50329677
<?php
/**
* Page navigation class
* bailing
* http://gudai.cnblogs.com/
* 共有记录:147条 每页显示5条 页次:1/15 首页 上一页 下一页 尾页
* 2009
*/
class pageNav {
var $pageLink="{{link}}_{{page}}.html";
var $selectPageLink= "'{{link}}_'+this.value+'.html'";
var $page = null;
var $totalPages = null;
function pageNav( $page , $limit , $total )
{
$this->totalPages = 0;
if($total>0)
$this->totalPages = intval(ceil($total/$limit));
$this->page = min($this->totalPages , $page);
$this->limit = $limit;
$this->total = $total;
}
function getHtml()
{
$html = '';
$total_pages = $this->totalPages;
$prep = max(1,($this->page-1));
$nextp = min($this->totalPages,($this->page+1));
$firstLink = str_replace("{{page}}","1",$this->pageLink);
$lastLink = str_replace("{{page}}",$this->totalPages,$this->pageLink);
$preLink = str_replace("{{page}}",$prep,$this->pageLink);
$nextLink = str_replace("{{page}}",$nextp,$this->pageLink);
if ( $this->page> 1) {
$html .= "\n<a href='".$firstLink."' > 首页</a>";
$html .= "\n<a href='".$preLink."' > 上一页</a>";
} else {
$html .= "\n<span class=\"pagenav\">首页</span>";
$html .= "\n<span class=\"pagenav\">上一页</span>";
}
if ( $this->page < $this->totalPages ) {
$end_page = $total_pages;
$html .= "\n<a href='".$nextLink."' > 下一页</a>";
$html .= "\n<a href='".$lastLink."' > 尾页</a>";
} else {
$html .= "\n<span class=\"pagenav\">下一页 </span>";
$html .= "\n<span class=\"pagenav\">尾页 </span>";
}
$html = "共有记录:".$this->total."条 每页显示".$this->limit."条 页次:".$this->page."/".$this->totalPages . $html ;
return $html;
}
}//end class
?>
$limit = 12;
$baseLink = "/comment/".$id."_{{page}}.html";
$this->tpl->set( "baseLink" , $baseLink );
list( $total , $limitstart , $limit ) = pagerNew( $this->DB , "tab_ly" , $where , $tpl , $limit , $p , $baseLink );
//调用方法,大家能看懂吧。
function pagerNew( $DB , $table , $where , &$tpl , $limit=30 , $p=1 , $baseLink="/index.php" , $total=0 )
{
LoadAPI("pageNav3");
if(!$p)
{
$p = intval($_GET['p']);
if($p<=0)$p=1;
}
//计算开始条数
$limitstart = ($p-1)*$limit;
//统计共有记录数
if(!$total)
{
$q2 = "SELECT count(*) FROM ".$table." $where" ;
$DB->setQuery( $q2 );
$total = $DB->loadResult();
}
if($limitstart>=$total )
{
$limitstart = $total-$total%$limit;
if($total>0)
die("参数错误,无此页码");
}
if( $limitstart<0 )$limitstart=0;
$tpl->set( "baseLink" , $baseLink );
if($total>0)
{
$nav = new pageNav( $p , $limit , $total );
$nav->pageLink = $baseLink;
$pageLinks = $nav->getHtml();
$thispage = max($nav->page,1);
$tpl->set( "pageLinks",$pageLinks);
$tpl->set( "p",$thispage);
$tpl->set( "totalPages",$nav->totalPages);
}
else
{
$tpl->set( "p",1);
$tpl->set( "totalPages",1);
}
$tpl->set( "total",$total);
//echo $limitstart;
return array( $total , $limitstart , $limit );
}