如何解决分页链接不起作用
| 我已经在网上搜索了一下,但找不到真正的代码问题。下一个和上一个链接不起作用。它只会获得第一个条目。 希望你们能对此有所帮助!谢谢。<?php
// ROWS DISPLAYED PER PAGE
$rows_per_page = 1;
// GET PAGE NUMBER
$page = $_GET[\'page\'];
$offset = (!empty($page)) ? $page : $page = 1;
// URL CLEAN UP
$self = $_SERVER[\'PHP_SELF\'].\"?\".$_SERVER[\'QUERY_STRING\'];
$self = str_replace(\"page={$offset}\",\"\",$self);
// GET LIST OF STATES
$offset = ($page) ? ($page - 1) * $rows_per_page : 0;
$id = $_GET[\'id\'];
$sql = \"SELECT * FROM updates WHERE update_categoryID = \'$id\' ORDER BY update_date DESC LIMIT {$offset},{$rows_per_page}\";
$result = mysql_query($sql)or die(\'Error,query failed\');
// GET NUMBER OF PAGES
$query1 = \"SELECT * FROM updates WHERE update_categoryID = \'$id\'\";
$result1 = mysql_query($query1)or die(\'Error,query failed\');
$total = mysql_num_rows($result1);
$NumPgs = ceil($total/$rows_per_page);
while($row = mysql_fetch_assoc($result))
{
?>
<h2><?php echo $row[\'update_title\']; ?></h2>
<p class=\"datetime\"><?php echo $row[\'update_date\'];?></p>
<br>
<p class=\"post\"><?php echo $row[\'update_content\'];?></p>
<a href=\"blogcomment.php?id=<?php echo $row[\'update_id\'];?>\">Post a Comment</a>
<?php
}
?>
<span style=\"float:right\">
<? if ($NumPgs > 0 && $page!=1) {
echo \"<a href=\\\"{$self}page=\".($page- 1).\"\\\"><<Prev</a> \"; } ?>
[Page <?php echo $page; ?>]
<? if ($page < $NumPgs) {
echo \"<a href=\\\"{$self}page=\".($page+1).\"\\\"> Next>></a>\"; } ?>
<b><? echo $offset+1;?> to <? echo $offset+$rows_per_page;?>,of <? echo $total; ?> Entries</b>
</span>
</div>
解决方法
嗯,也许您的页面参数已附加到查询字符串中,请尝试以下操作:
$self = $_SERVER[\'PHP_SELF\'].\"?\".
preg_replace( $_SERVER[ \'QUERY_STRING\' ],\'page=[0-9]+\',\'\');
代替 :
// URL CLEAN UP
$self = $_SERVER[\'PHP_SELF\'].\"?\".$_SERVER[\'QUERY_STRING\'];
$self = str_replace(\"page={$offset}\",\"\",$self);
,短打开标签不适用于您的情况。
http://us3.php.net/echo
http://us3.php.net/manual/zh/ini.core.php#ini.short-open-tag
请尝试以下代码。
<?php
// ROWS DISPLAYED PER PAGE
$rows_per_page = 1;
// GET PAGE NUMBER
$page = $_GET[\'page\'];
$offset = (!empty($page)) ? $page : $page = 1;
// URL CLEAN UP
$self = $_SERVER[\'PHP_SELF\'].\"?\".$_SERVER[\'QUERY_STRING\'];
$self = str_replace(\"page={$offset}\",$self);
// GET LIST OF STATES
$offset = ($page) ? ($page - 1) * $rows_per_page : 0;
$id = $_GET[\'id\'];
$sql = \"SELECT * FROM updates WHERE update_categoryID = \'$id\' ORDER BY update_date DESC LIMIT {$offset},{$rows_per_page}\";
$result = mysql_query($sql)or die(\'Error,query failed\');
// GET NUMBER OF PAGES
$query1 = \"SELECT * FROM updates WHERE update_categoryID = \'$id\'\";
$result1 = mysql_query($query1)or die(\'Error,query failed\');
$total = mysql_num_rows($result1);
$NumPgs = ceil($total/$rows_per_page);
while($row = mysql_fetch_assoc($result))
{
?>
<h2><?php echo $row[\'update_title\']; ?></h2>
<p class=\"datetime\"><?php echo $row[\'update_date\'];?></p>
<br>
<p class=\"post\"><?php echo $row[\'update_content\'];?></p>
<a href=\"blogcomment.php?id=<?php echo $row[\'update_id\'];?>\">Post a Comment</a>
<?php
}
?>
<span style=\"float:right\">
<? echo ($prev = ($NumPgs > 0 && $page!=1) ? \"<a href=\\\"{$self}&page=\".($page- 1).\"\\\">Prev</a> \":
\"Prev \"); ?>
[Page <?php echo $page; ?>]
<? echo ($next = ($page < $NumPgs) ? \"<a href=\\\"{$self}&page=\". ($page+1).\"\\\">Next</a>\":
\"Next\");?>
<b> <? echo $offset+1?> to <?=$offset+$rows_per_page?>,of <? echo $total?> Entries</b>
</span>
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。