Jump to content

still have a pagination problem!


Noskiw

Recommended Posts

  • Replies 87
  • Created
  • Last Reply
<?php

$id = $_GET['id'];

$page = (!$_GET['page'] || $_GET['page'] < 0) ? "1" : $_GET['page'];
$page = ceil($page);
$limit = 10;

$start = $limit;
$end = $page*$limit-($limit);

if(isset($id)){
   $sql = "SELECT * FROM forum_topics WHERE id='".$id."'";
   $res = mysql_query($sql) or die(mysql_error());
   if(mysql_num_rows($res) == 0){
      echo "This topic does not exist!\n";
   }else{
      $row = mysql_fetch_assoc($res);
      $sql2 = "SELECT admin FROM forum_sub_cats WHERE id='".$row['cid']."'";
      $res2 = mysql_query($sql2) or die(mysql_error());
      $row2 = mysql_fetch_assoc($res2);
      if($row2['admin'] == 1 && $admin_user_level == 0){
         echo "You cannot view this topic because you are not an admin!\n";
      }else{
         $a = (isa($row['uid'])) ? "<font style=\"color:#800000;\">ADMIN</font>" : "";

         $amount_check = "SELECT * FROM forum_replies WHERE tid='".$tid."'";
         $amount_check_res = mysql_query($amount_check) or die(mysql_error());
         $amount_count = mysql_num_rows($amount_check_res);
         $pages = ceil($amount_count/$limit);

         $previous = ($page-1 <= 0) ? "« Prev" : "<a href=\"./forum-index.php?act=topic&id=".$id."&page=".($page-1)."\">« Prev</a>";
         $nextpage = ($page+1 <= $pages) ? " Next »" : " <a href=\"./forum-index.php?act=topic&id=".$id."&page=".($page+1)."\">Next »</a>";
         echo "<tr><td align=\"right\" colspan=\"2\">\n";
         echo "Pages: ";

         echo $previous;
         for($i=1;$i<=$pages;$i++){
            $href = ($page == $i) ? " ".$i." " : " <a href=\"./forum-index.php?act=create&id=".$id."&page=".$i."\">".$i."</a> ";
    
            echo $href;
         }
         echo $nextpage;
         echo "</td></tr>\n";

         echo "<table border=\"0\" width=\"100%\" cellspacing=\"3\" cellpadding=\"3\">\n";
         echo "<tr><td colspan=\"2\" align=\"left\"  class=\"forum_header\"><b><font size=\"3\">".$row['title']."</font></b><font size=\"3\"> - Posted On: <em>".$row['date']."</em></font></td></tr>\n";
         echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\"  class=\"forum_header\">".uid($row['uid'], true)."<br>Posts: 0<br>".$a."</td>";
         echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">";
         echo topic($row['message']);
         echo "</td>\n";
         echo "</tr>\n";

         $select_sql = "SELECT * FROM `forum_replies`WHERE tid = ".$id." ORDER BY id ASC LIMIT ".$end.", ".$start."";
         $select_res = mysql_query($select_sql) or die(mysql_error()); 

         while($rowr = mysql_fetch_assoc($select_res)){
            echo "<tr><td colspan=\"2\" align=\"left\"  class=\"forum_header\"><font size=\"3\"> - Posted On: <em>".$rowr['date']."</em></font></td></tr>\n";
            echo "<tr><td align=\"left\" width=\"15%\" valign=\"top\"  class=\"forum_header\">".uid($rowr['uid'], true)."<br>Posts: 0<br>".$a."</td>";
            echo "<td align=\"left\" valign=\"top\" class=\"forum_header\">";
            echo topic($rowr['message']);
            echo "</td>\n";
            echo "</tr>\n";
         }

         echo "<form method=\"post\" action=\"./forum-index.php?act=reply&id=".$row['id']."\">\n";
         echo "<tr><td colspan=\"2\" align=\"center\"><textarea style=\"width:90%\" name=\"reply\"></textarea><br><input type=\"submit\" name=\"submit\" value=\"add reply!\" style=\"width:90%\" /></td></tr>\n";

         echo "</table>\n";
      }
   }
}else{
   echo "Please view a valid topic!\n";
}

?>

Link to comment
Share on other sites

about pages, I personally have exhausted my ideas on that. maybe ngreenwood6  will help on that one more than I can.

as for the HTML entities, what does topic() do? The problem is in there.

Post the code for that function and I can help you on that.

Link to comment
Share on other sites

try changing this:

 

for($i=1;$i<=$pages;$i++){
            $href = ($page == $i) ? " ".$i." " : " <a href=\"./forum-index.php?act=create&id=".$id."&page=".$i."\">".$i."</a> ";
    
            echo $href;
         }

 

to this:

for($i=1;$i<$pages;$i++){
            $href = ($page == $i) ? " ".$i." " : " <a href=\"./forum-index.php?act=create&id=".$id."&page=".$i."\">".$i."</a> ";
    
            echo $href;
         }

 

that should fix the page numbering issue.

Link to comment
Share on other sites

Try changing this:

 

$nextpage = ($page+1 <= $pages) ? " Next »" : " <a href=\"./forum-index.php?act=topic&id=".$id."&page=".($page+1)."\">Next »</a>";

 

to this:

 

$nextpage = ($page+1 >= $pages) ? " Next »" : " <a href=\"./forum-index.php?act=topic&id=".$id."&page=".($page+1)."\">Next »</a>";

 

I think that should stop the page from going on and on. and Brian W it doesnt run that until after the first time around.

Link to comment
Share on other sites

also if you change this:

 

$previous = ($page-1 <= 0) ? "« Prev" : "<a href=\"./forum-index.php?act=topic&id=".$id."&page=".($page-1)."\">« Prev</a>";

 

to this:

 

$previous = ($page-1 <= 1) ? "« Prev" : "<a href=\"./forum-index.php?act=topic&id=".$id."&page=".($page-1)."\">« Prev</a>";

 

it should then display the prev not as a link when you first go there on the first page.

Link to comment
Share on other sites

you need to change this:

 

for($i=0;$i<=$pages;$i++){
            $href = ($page == $i) ? " ".$i." " : " <a href=\"./forum-index.php?act=create&id=".$id."&page=".$i."\">".$i."</a> ";
    
            echo $href;
         }

 

back to this:

for($i=1;$i<=$pages;$i++){
            $href = ($page == $i) ? " ".$i." " : " <a href=\"./forum-index.php?act=create&id=".$id."&page=".$i."\">".$i."</a> ";
    
            echo $href;
         }

 

so that you wont see a zero page.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.