两个设置分页的都出问题,想屎了...
1 | <br /><?php<br /> $offset = isset( $_GET [ 'pid' ])? intval ( $_GET [ 'pid' ]):1;<br /> if (! $offset ) $offset = 1;<br /> $perpage = 50;<br /><br /><br /> $db = NEW PDO( "mysql:host=localhost; port = 3306; dbname =library" , 'root' , 'cai123' );<br /> $total = $db ->query( 'SELECT COUNT(*) FROM library.messages' )->fetchColumn(0);<br /><br /> $sql = 'SELECT * FROM library.messages' . " LIMIT $perpage OFFSET " .( $offset -1);<br /> $result = $db ->query( $sql );<br /> if ( $result )<br />{<br /> foreach ( $result ->fetchAll() as $row )<br /> {<br /> echo "subject: " . $row [5]. "<br />" ;<br /> }<br />}<br /> else <br />{<br /> $error = $db ->errorInfo();<br /> echo "error happened.." . $error [2];<br /> exit ();<br />}<br /><br />buildIndex( $perpage , $total );
|
登录后复制
另一种思路的.....
1 | <br /><?php<br /> $offset = isset( $_GET [ 'pid' ])? intval ( $_GET [ 'pid' ]):1;<br /> if (! $offset ) $offset = 1;<br /> $perpage = 50;<br /><br /><br /> $db = NEW PDO( "mysql:host=localhost; port = 3306; dbname =library" , 'root' , 'cai123' );<br /> $total = $db ->query( 'SELECT COUNT(*) FROM library.messages' )->fetchColumn(0);<br /><br /> $sql = 'SELECT * FROM library.messages LIMIT ' . ( $offset -1)* $perpage . ", $perpage " ;<br /> $result = $db ->query( $sql );<br /> if ( $result )<br />{<br /> foreach ( $result ->fetchAll() as $row )<br /> {<br /> echo "subject: " . $row [5]. "<br />" ;<br /> }<br />}<br /> else <br />{<br /> $error = $db ->errorInfo();<br /> echo "error happened.." . $error [2];<br /> exit ();<br />}<br /><br /> $numpage = $total % $perpage ;<br /> if ( $total % $perpage ) $numpage ++;<br /> $cur = $offset ;<br /> if ( $cur < $numpage )<br />{<br /> echo "<a href ='" . htmlentities( $_SERVER ['PHP_SELF '])."?offset = ".($cur+1)."' > Next Page</a><br />";<br />}<br /> if ( $cur > 0)<br />{<br /> echo "<a href ='" . htmlentities( $_SERVER ['PHP_SELF '])."?offset =". ($cur-1)."' > Prev Page</a><br />";<br /><br />}<br /><br /><br />?><br />
|
登录后复制
问题如下:每次点击下一页,或者上一页,显示的都是同样的内容,即首页内容。 当数据表的内容有3000行...是怎么回事啊?
------解决方案--------------------42 行有 ...setPage02.php?
offset=$i'>$i....
而第 2 行是 $offset = isset($_GET['
ofset']) ? intval($_GET['offset']) : 1;
知道问题在哪了吧?