c1a1o1
版主
  
一品带刀护卫
UID 68669
精华
0
积分 1230
帖子 2187
金钱 1230 喜悦币
威望 0
人脉 0
阅读权限 100
注册 2006-2-17
状态 离线
|
[推荐阅读] 寻找上海高速稳定的PHP空间.
<?php /****************** * 分页类 *******************/
class Pager
{
var $displaypg = 0;
var $firstcount = 0;
var $pagenav = '';
var $sql = '';
function get_record_count($sql = '')
{
if (empty($sql))
{
$sql = $this->sql;
}
else
{
$this->sql = $sql;
}
//当SQL语句中包含GROUP BY语句时 使用mysql_num_rows
if (preg_match("|GROUPs*BY|ims", $sql) > 0)
{
$result = mysql_query($sql) or die(mysql_error());
$nums = mysql_num_rows($result);
return $nums;
}
else
{
$sql = preg_replace("|SELECT (.*) FROM|ims", 'SELECT COUNT(1) AS count FROM', $sql);
//$sql = str_replace(trim(str_replace('SELECT' , '', substr($sql, 0, strpos($sql, 'FROM')))), ' COUNT(1) ' ,$sql);
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_row($result);
return $row[0];
}
}
function set_page($sql, $displaypg = 20)
{
$page = isset($_GET["page"]) ? $_GET["page"] : 1;
//URL分析:
//$url = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : $_SERVER['PHP_SELF'].'?'.$_SERVER["QUERY_STRING"];
//$parse_url=parse_url($url);
//$url_query= isset($parse_url["query"]) ? $parse_url["query"] : ''; $url = ''; if (isset($_SERVER["QUERY_STRING"])) { $url_query=ereg_replace("(^|&)page=$page", "", $_SERVER['SCRIPT_NAME'].'?'.$_SERVER["QUERY_STRING"]); //$url=str_replace($_SERVER["QUERY_STRING"],$url_query,$url); if($url_query) $url .= $url_query."&page"; else $url .= "?page"; } else { $url .="?page"; }
//页码计算:
$total = $this->get_record_count($sql);
$lastpg = ceil($total / $displaypg); //总页数
$page = min($lastpg, $page);
$prepg = $page - 1; //上一页
$nextpg = ($page == $lastpg ? 0 : $page + 1); //下一页
$firstcount = ($page - 1) * $displaypg;
if ($firstcount < 0) $firstcount = 0;
$this->firstcount = $firstcount;
$this->displaypg = $displaypg;
$this->sql .= " LIMIT " . $firstcount . ", " . $displaypg;
//开始分页导航条代码:
$pagenav = "显示第 <B>".($total?($firstcount+1):0)."</B>-<B>".min($firstcount+$displaypg,$total)."</B> 条记录,共 $total 条记录<BR>";
if($lastpg > 1)
{
$pagenav.=" <a href='$url=1'>第一页</a> ";
if($prepg) $pagenav.=" <a href='$url=$prepg'>上一页</a> "; else $pagenav.=" 上一页 ";
if($nextpg) $pagenav.=" <a href='$url=$nextpg'>下一页</a> "; else $pagenav.=" 下一页 ";
$pagenav.=" <a href='$url=$lastpg'>最后一页</a> ";
//下拉跳转列表,循环列出所有页码:
$pagenav.=" 到第 <select name='topage' size='1' style='font-size:11px;' onchange='window.location=\"$url=\"+this.value'>n";
for($i=1;$i<=$lastpg;$i++){
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>n";
else $pagenav.="<option value='$i'>$i</option>n";
}
$pagenav.="</select> 页,共 $lastpg 页";
}
$this->pagenav = $pagenav;
return $this->sql;
}
} ?>
|  成人电影
php教材价格比较网美女图片 |
|