欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php+mysql 分页有关问题

程序员文章站 2024-01-26 14:15:34
...
php+mysql 分页问题
求教:php+mysql分页 ,先贴代码,再描述问题
代码:




$page=isset($_GET['page'])?intval($_GET['page']):1; //这句就是获取page=18中的page的值,假如不存在page,那么页数就是1。
$searchinfo=isset($_GET['search'])?($_GET['search']):"-1";
$search=($searchinfo=='请输入关键字')?-1:$searchinfo;

$num=1; //每页显示3条数据

/*
首先咱们要获取数据库中到底有多少数据,才能判断具体要分多少页,具体的公式就是
总数据库除以每页显示的条数,有余进一。
也就是说10/3=3.3333=4 有余数就要进一。
*/
if ($config[NEEDDB]) { //if need db
$dbLink = DBPool::getLink($config[DBDRIVER]);
$daoImpl = DAOImpl::getImpl($dbLink, $config[TABLEPRE][BACKEND]);
$config[DBLINK] = $dbLink;
$config[DAOIMPL] = $daoImpl;
}
$adRs = $config[DAOIMPL]->adSearchCount($search);
//$adList = rs2Array($adRs);
$adList=mysql_fetch_array($adRs);
mysql_free_result($adRs);
//DBPool::closeLink($config[DBLINK]);
if(count($adList)>0){
$total=$adList[0]['cn']; //查询所有的数据
}
else{
$total=0;
}

$url='views/adSearchResult.php';//获取本页URL
//页码计算
$pagenum=ceil($total/$num); //获得总页数,也是最后一页
$page=min($pagenum,$page);//获得首页
$prepg=$page-1;//上一页
$nextpg=($page==$pagenum ? 0 : $page+1);//下一页
$offset=($page-1)*$num; //获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。
//开始分页导航条代码:
$pagenav="显示第 ".($total?($offset+1):0)."-".min($offset+10,$total)." 条记录,共 $total 条记录 ";
//如果只有一页则跳出函数:
//if($pagenum$pagenav.=" 首页 ";
if($prepg) $pagenav.=" 前页 "; else $pagenav.=" 前页 ";
if($nextpg) $pagenav.=" 后页 "; else $pagenav.=" 后页 ";
$pagenav.=" 尾页 ";
$pagenav.=" 页,共 $pagenum 页";
//假如传入的页数参数大于总页数,则显示错误信息
If($page>$pagenum){
Echo "Error : Can Not Found The page ".$page;
Exit;
}
$adSearchRs = $config[DAOIMPL]->getADSearchInfo($search,$offset,$page);
$adSearchList = rs2Array($adSearchRs);
//mysql_free_result($adSearchRs);
foreach ( $adSearchList as $it){
//While($it=mysql_fetch_array($adSearchRs)){
Echo '



'.$it['title'].'

'.$it['subject'].'

'.$it['pic_url'].'

'.$it['advert_url'].'

'.$it['if_valid'].'