一般情况下我都会把数据库读取做一个专用类,里面包括有对数据库的操作,包括分页等,这样用起来方便。主要的代码有两段:
一、读取数据库并转化为分页数组:
代码如下:
Open_Db($sql);
$this->recordcount=$result->recordcount;
if ((isset($filename)) && ($pagesize!=0)){//分页开始
$autopage=true;
$FilesName = $filename;
$result->pagesize=$pagesize;
$page=$_GET['page'];
if (($page!='') && (is_numeric($page))){
$epage = $page;
if ($epage<1)$epage=1;
if ($epage>$result->pagecount)$epage = $result->pagecount;
}else{
$epage=1;
}
if(!$result->eof)$result->Absolutepage=$epage;
$whileNum=$result->pagesize;
}
if(!isset($whileNum))$whileNum=$result->recordcount;
for($i=1;$i<=$whileNum;$i++){
if($result->eof)break;
for($n=0;$n<=($result->fields->count-1);$n++){
$str[$i-1][$result[$n]->name] = $result[$n]->value;
}
$result->movenext();
}
if($autopage==true)$this->page = $this->Paging($filename,$result->pagecount,$epage);
$result->close();
return $str;
}
?>二、供调用的分页代码:
1){
if ($page<=1){
$page=1;
$PageStr='当前第 '.$page.' / '.$PageCount.' 页 ['.$topname.'] ['.$overname.'] ['.$upname.'] ['.$bottomname.']';
}else if($page>=$PageCount){
$page=$PageCount;
$PageStr='当前第 '.$page.' / '. $PageCount . ' 页 ['.$topname.'] ['.$overname.'] ['.$upname.'] ['.$bottomname.']';
}else{
$PageStr='当前第 ' . $page . ' / '. $PageCount . ' 页 ['.$topname.'] ['.$overname.'] ['.$upname.'] ['.$bottomname.']';
}
}else{
$PageCount=1;
$page=1;
$PageStr=('当前第 ' . $page) . ' / '. $PageCount . ' 页 ['.$topname.'] ['.$overname.'] ['.$upname.'] ['.$bottomname.']';
}
return $PageStr;
}
?>我觉得这样在读取数据库的时候基本上不用担心分页会出什么问题,而且如果你多个网站栏目的话,分页都可以调用,非常方便。
51shop 由 PHP 语言开发, 使用快速的 MySQL 数据库保存数据 ,为中小型网站实现网上电子商务提供一个完美的解决方案.一、用户模块1. 用户注册:用户信息包括:用户ID、用户名、用户密码、性别、邮箱、省份、城市、 联系电话等信息,用户注册后不能立即使用,需由管理员激活账号,才可使用(此功能管理员可设置)2. 登录功能3. 资料修改:用户可修改除账号以后的所有资料4. 忘记密码:要求用
立即学习“PHP免费学习笔记(深入)”;
以上代码不足之处还请指出,谢谢!
更过PHP相关问题请访问PHP中文网:https://www.php.cn/










