PHP分页脚本不起作用

时间:2011-03-20 15:24:39

标签: php mysql pagination

我使用的分页脚本由于某种原因不显示帖子。它没有显示任何内容,没有以前的链接,没有下一个链接,没有来自mysql数据库的实际内容。该页面不是白色屏幕,页面上的其他所有内容都可以正常工作。如果有人可以帮助我,那就太好了。

<?php
session_start();
include "config.php";
if($_SESSION['usrid']){
database_connect();
$sql = 'SELECT id FROM posts limit '.($page*$eachPage).','.$eachPage;

$sql_count = 'SELECT id FROM posts';
                if(isset($_GET['page']) AND ctype_digit($_GET['page'])) {

    $page = $_GET['page'];    
}
else{

    $page = 0;    
}

if(!$res = mysql_query($sql)) {

  trigger_error(mysql_error().'<br />In query: '.$sql); 
} 
elseif(mysql_num_rows($res) == 0) { 

  echo 'No posts found'; 
} 
else { 

  while($row = mysql_fetch_assoc($res)) { 
  $posttime = date("F j \a\t g:i a", strtotime ( $row [ 'time' ] ));
      ?>
      <div class="t"><p id="i"><?php echo $row['post']; ?><br /><b class="oinf">By <a href="profile.php?id=<?php echo $row['id']; ?>" class="od"> on <?php echo $posttime; ?></a></b></p></div><br /><br />
    <?php
  }

  if($res = mysql_query($sql_count)) {

      $results = mysql_num_rows($res);
    }
  $pages = ceil($results / $eachPage);

  if($page > 0) {

      echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page-1).'">[Previous]</a>';
  }
  else{

      echo '[Previous]';
  }

  for($i = 1; $i <= $pages; $i++)    {

      echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($i-1).'">'.$i.'</a>';
    } 

  if(($page+1) <= ($results/$eachPage)) {

      echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.($page+1).'">[Next]</a>';
  }
  else{

      echo '[Next]';
  }
}

            }else{

            };?>

编辑:我知道尝试使用此代码进行调试,但它给出了与上面相同的结果,它没有显示帖子:

if($_SESSION['usrid']){
    database_connect();
    $navquery = "SELECT * from posts";
$navresult = mysql_query($navquery) or die(mysql_error());  
while ($row = mysql_fetch_assoc($navresult)) {
    ?>
    <div class="t"><p id="i"><?php echo $row['post']; ?><br /><b class="oinf">By <a href="profile.php?id=<?php echo $row['id']; ?>" class="od"> on <?php echo $row['time']; ?></a></b></p></div><br /><br />
    <?php
};
};

2 个答案:

答案 0 :(得分:0)

我开始工作,我忘记了}

答案 1 :(得分:0)

回显此SQL查询并找出脚本无法正常工作的原因。

$sql = 'SELECT id FROM posts limit '.($page*$eachPage).','.$eachPage;

返回:

SELECT id FROM posts limit ,

由于未定义$page$eachPage。这些应该来自$_GET吗?因为实际上有人可以这样做:

/mypage?page=0&eachPage=;DELETE FROM posts;

你没有采取任何措施来防止这种情况发生。