注册 登录
编程论坛 PHP技术论坛

[求助]大家帮忙看看关于分页显示的问题??

yc12 发布于 2007-02-08 01:03, 1014 次点击

大家帮忙看看关于分页显示的问题??
我是想判断出最后一页来。但是好象老显示错误??
<?php
$page_num = 3;
if(!isset($page_no))
{
$page_no = 1;
}
$strat_num = $page_num*($page_no-1);

$sql = "select * from addbook order by id desc limit $strat_num,$page_num";
$result = mysql_query($sql);
$rows=mysql_num_rows($result);
//以下是判断最后一页
$sql1 = "select count(*) as amount from addbook";
$result1 =mysql_query($sql1);
mysql_data_seek($result1,0);
$data = mysql_fetch_row($result1);
$amount = $data["amount"]; //这里是67行;
if($amount)
{
if($amount<$page_num)
{
$page_count = 1;
}
if($amount % $page_num)
{
$page_count = (int)($amount/$page_num)+1;
}
else
{
$page_count = $amount/$page_num;
}
}
else
{
$page_count = 0;
}
?>

执行之后,老是显示Notice: Undefined index: amount in d:\usr\www\html\phpexe\txl\index.php on line 67
好象$amount变量里面没有东西,所以$page_count = 0;
怎么会这样呢??麻烦大家帮忙看看是哪里出现问题了!thanks

2 回复
#2
JavaEE52007-02-08 09:04
没时间给你看,给你一段分页代码。你自己研究吧

if($page=="")$page=1;
$pagesize=50;//定义最大行数
$offset=($page-1)*$pagesize; //LIMIT的第一个参数,我说不清是什么意思,大概就是从第$offset行开始取数据记录
$sql = "SELECT COUNT(*) FROM `table`";
$rs = mysql_query($sql)or die($sql.mysql_error());
$total_rows = mysql_result($rs, 0, 0); //总行数
mysql_free_result($rs);
$total_page = ceil($total_rows/$pagesize); //总页数

$sql = "SELECT * FROM `table` LIMIT $offset, $pagesize";
$rs = mysql_query($sql)or die($sql.mysql_error());

主要是在SQL里用LIMIT
#3
yc122007-02-08 11:21
谢谢楼上了,问题解决了!改成这样amount = $data[0];就ok了!
我的分页的算法跟楼上的差不多;
但是还是有一些区别$total_page = ceil($total_rows/$pagesize); 这个跟我的不一样;
如果我的代码换成这样的,总页数显示的是1,应该是3的。不过谢谢兄弟了。
1