首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >分页链接不起作用

分页链接不起作用
EN

Stack Overflow用户
提问于 2011-05-26 16:59:49
回答 2查看 641关注 0票数 1

我已经在网络上搜索过了,但是找不到我的代码有什么问题。next和prev链接不起作用。它只获取第一个条目。

希望你们能帮上忙!谢谢。

代码语言:javascript
运行
复制
<?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)."\">&lt;&lt;Prev</a>&nbsp;&nbsp;"; } ?>
[Page <?php echo $page; ?>]
<? if ($page < $NumPgs) {
echo "<a href=\"{$self}page=".($page+1)."\">&nbsp;&nbsp;Next&gt;&gt;</a>"; } ?>
<b><? echo $offset+1;?> to <? echo $offset+$rows_per_page;?>, of <? echo $total; ?>  Entries</b>
</span>
</div>  
EN

回答 2

Stack Overflow用户

发布于 2011-05-26 18:49:36

嗯,也许你的页面参数被附加到了查询字符串中,试试这个:

代码语言:javascript
运行
复制
 $self = $_SERVER['PHP_SELF']."?".
         preg_replace( $_SERVER[ 'QUERY_STRING' ], 'page=[0-9]+', '');

而不是:

代码语言:javascript
运行
复制
 // URL CLEAN UP
 $self = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
 $self = str_replace("page={$offset}", "", $self);  
票数 1
EN

Stack Overflow用户

发布于 2011-05-26 17:12:22

简短的打开标记在您的情况下不起作用。

http://us3.php.net/echo

http://us3.php.net/manual/en/ini.core.php#ini.short-open-tag

尝试以下代码。

代码语言:javascript
运行
复制
<?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>&nbsp;&nbsp;": 
   "Prev&nbsp;&nbsp;"); ?>
    [Page <?php echo $page; ?>]
   <? echo ($next = ($page < $NumPgs) ? "<a href=\"{$self}&page=".     ($page+1)."\">Next</a>": 
    "Next");?>&nbsp;
    <b>&nbsp;<? echo $offset+1?> to <?=$offset+$rows_per_page?>, of <? echo $total?> Entries</b>
    </span>
    </div> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6136046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档