php分页问题,知道的进

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:25:28
请给我分页这段程序的祥细解释说明,我真看不懂谢谢
<?
function genpage(&$sql,$page_size=2)
{
global $prepage,$nextpage,$pages,$sums; //out param
$page = $_GET["page"];
$eachpage = $page_size;
$pagesql = strstr($sql," from ");
$pagesql = "select count(*) as ids ".$pagesql;
$result = mysql_query($pagesql) or die(mysql_error());
if($rs = mysql_fetch_array($result)) $sums = $rs[0];
$pages = ceil(($sums-0.5)/$eachpage)-1;
$pages = $pages>=0?$pages:0;
$prepage = ($page>0)?$page-1:0;
$nextpage = ($page<$pages)?$page+1:$pages;
$startpos = $page*$eachpage;
$sql .=" limit $startpos,$eachpage ";
}
//显示分页
function showpage()
{
global $page,$pages,$prepage,$nextpage,$queryString; //param from genpage function
$shownum =10/2;
$startpage = ($page>=$shownum)?$page-

我这里一份很简单的分页

比你这个简单多了,因为他是html+php混写,所以再所难免特别混乱

主要获取数据库的方法是
function homepage($start_num,$end_num){
global $db;
$sql = "SELECT * FROM articles WHERE toptime<now() ORDER BY addtime DESC LIMIT 0,15";
}else{
$sql = "SELECT * FROM articles WHERE toptime<now() ORDER BY addtime DESC LIMIT {$start_num},{$end_num}";
}
$db->fetch_all($sql,$result);
return $result;
}

//解释一下,你可以观察出这个方法里主要有 2条sql语句,而且他们基本相同,唯一不同的就是limit搜索返回结果数量的限制。然后是页面调用这个方法,不过还需要进行一些简单的判断,来获取homepage()方法的那2个参数。

//主要参数$_GET['page_id']

$page_size = 15; //每页显示多少个

/*这一段获取你那个表总共有多少文章**/
$SQL_page = "SELECT * FROM articles";
$db->fetch_all($SQL_page,$page_result);
$all = count($page_result);

$pager_number = ceil($all/$page_size);

$pager_URL = "index.php?";//你的网页的形式

if(isset($_GET['pa