yc12 发表于 2007-2-8 01:03

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

<P>大家帮忙看看关于分页显示的问题??<BR>我是想判断出最后一页来。但是好象老显示错误??<BR>&lt;?php<BR>    $page_num = 3;<BR>    if(!isset($page_no))<BR>    {<BR>        $page_no = 1;<BR>    }<BR>    $strat_num = $page_num*($page_no-1);<BR>    </P>
<P>    $sql = "select * from addbook order by id desc limit $strat_num,$page_num";<BR>    $result = mysql_query($sql);<BR>    $rows=mysql_num_rows($result); <BR>//以下是判断最后一页<BR>    $sql1 = "select count(*) as amount from addbook";<BR>    $result1 =mysql_query($sql1);<BR>    mysql_data_seek($result1,0);<BR>    $data = mysql_fetch_row($result1);<BR>    $amount = $data["amount"];  //这里是67行;<BR>    if($amount)<BR>    {<BR>        if($amount&lt;$page_num)<BR>        {<BR>            $page_count = 1;<BR>        }<BR>        if($amount % $page_num)<BR>        {<BR>            $page_count = (int)($amount/$page_num)+1;<BR>        }<BR>        else<BR>        {<BR>            $page_count = $amount/$page_num;<BR>        }<BR>    }<BR>    else<BR>    {<BR>        $page_count = 0;<BR>    }<BR>?&gt;</P>
<P>执行之后,老是显示Notice: Undefined index: amount in d:\usr\www\html\phpexe\txl\index.php on line 67<BR>好象$amount变量里面没有东西,所以$page_count = 0;<BR>怎么会这样呢??麻烦大家帮忙看看是哪里出现问题了!thanks<BR></P>

JavaEE5 发表于 2007-2-8 09:04

没时间给你看,给你一段分页代码。你自己研究吧<br><br>if($page=="")$page=1;<br>$pagesize=50;//定义最大行数<br>$offset=($page-1)*$pagesize;  //LIMIT的第一个参数,我说不清是什么意思,大概就是从第$offset行开始取数据记录<br>$sql = "SELECT COUNT(*) FROM `table`";<br>$rs = mysql_query($sql)or die($sql.mysql_error());<br>$total_rows = mysql_result($rs, 0, 0);  //总行数<br>mysql_free_result($rs);<br>$total_page = ceil($total_rows/$pagesize); //总页数<br><br>$sql = "SELECT * FROM `table` LIMIT $offset, $pagesize";<br>$rs = mysql_query($sql)or die($sql.mysql_error());<br><br>主要是在SQL里用LIMIT

yc12 发表于 2007-2-8 11:21

谢谢楼上了,问题解决了!改成这样amount = $data[0];就ok了!<br>我的分页的算法跟楼上的差不多;<br>但是还是有一些区别$total_page = ceil($total_rows/$pagesize); 这个跟我的不一样;<br>如果我的代码换成这样的,总页数显示的是1,应该是3的。不过谢谢兄弟了。

页: [1]

编程论坛