Php 分页链接不工作

Php 分页链接不工作,php,pagination,Php,Pagination,我已经在网上搜索过了,但没有找到我的代码有什么问题。“下一个”和“上一个”链接不起作用。它只得到第一个条目 希望你们能帮上忙!谢谢 <?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['PH

我已经在网上搜索过了,但没有找到我的代码有什么问题。“下一个”和“上一个”链接不起作用。它只得到第一个条目

希望你们能帮上忙!谢谢

<?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>  

短打开标记在您的案例中不起作用

请尝试以下代码

<?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> 

短打开标记在您的案例中不起作用

请尝试以下代码

<?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> 

嗯,可能您的页面参数被追加到查询字符串中,请尝试以下操作:

 $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);  

嗯,可能您的页面参数被附加到查询字符串中,请尝试以下操作:

 $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);  

问题在于你好,谢谢!我已经尝试了你的代码,并对其进行了一些修改,但仍然无法工作。每当我点击“下一步”链接时,它仍然只显示第一个条目。[第1页]1到1,共2条,这是我现在的输出。问题在于Hi,谢谢!我已经尝试了你的代码,并对其进行了一些修改,但仍然无法工作。每当我点击“下一步”链接时,它仍然只显示第一个条目。[第1页]1到1,共2条,这是我现在的输出。