【发布时间】:2016-03-22 00:01:03
【问题描述】:
问题
第一次使用分页,所以我仍在尝试了解这一切是如何结合在一起的。我相当有信心我在这里研究和应用的方法会起作用,但是我遇到了一个奇怪的错误。
由于第二个 mysqli_query 失败导致错误消息Warning: mysqli_error() expects parameter 1 to be mysqli, boolean given,因此无法访问数据。
数据库中只有一个条目,我只能假设这一定会导致一些奇怪的逻辑,但我什至不是 100% 认为发生这种情况是有意义的。它也绝对是第二个mysqli_query,因为Could not get that data 是输出。
非常感谢对分页过程的一些解释,如果有人能发现我的错误,将不胜感激。
代码
<?php
$connect = mysqli_connect("localhost", "root", "");
if (!$connect) {die(mysql_error());}mysqli_select_db($connect, "story.time");
$rec_limit = 5;
$sql = "SELECT count(id) FROM toptable ";
$retval = mysqli_query($connect, $sql);
if(! $retval ){die('Could not get this data: ' . mysql_error());}
$row = mysqli_fetch_array($retval, MYSQL_NUM );
$rec_count = $row[0];
if( isset($_GET{'page'} ) ){$page = $_GET{'page'} + 1;$offset = $rec_limit * $page;}
else{$page = 0;$offset = 0;}
$left_rec = $rec_count - ($page * $rec_limit);
$sql = "SELECT id, name, content FROM toptable ORDER BY id DESC LIMIT $offset, $rec_limit";
$retval = mysqli_query($connect, $sql);
if(! $retval ){die('Could not get that data: ' . mysqli_error($retval));}
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{echo "{$row['id']} <br> "."{$row['name']} <br> "."{$row['content']} <br> ";}
if( $page > 0 ){$last = $page - 2;
echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a> |";
echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";}
else if( $page == 0 )
{echo "<a href=\"$_PHP_SELF?page=$page\">Next 10 Records</a>";}
else if( $left_rec < $rec_limit )
{$last = $page - 2;echo "<a href=\"$_PHP_SELF?page=$last\">Last 10 Records</a>";}
mysqli_close($connect);
?>
【问题讨论】:
标签: php mysqli pagination