Jump to content

[SOLVED] trouble with pagenumbers


contra10

Recommended Posts

hi my data is being shown but when i click last or try to connect back to the first page i don't get anywhere

 

heres my code

<?php
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("registration") or die(mysql_error());

if(is_numeric($_GET['id'])){

$id = $_GET['id'];

  $insert3= "SELECT * FROM post_grp WHERE grpid = '$id' ORDER BY pgid DESC";
$topic3 = mysql_query($insert3) or die(mysql_error());


}
//This checks to see if there is a page number. If not, it will set it to page 1 
if (!(isset($pagenum))) 
{ 
$pagenum = 1; 
} 

//Here we count the number of results 
//Edit $data to be your query 
$data = mysql_query("SELECT * FROM post_grp WHERE grpid = '$id' ORDER BY pgid DESC") or die(mysql_error()); 
$rows = mysql_num_rows($data); 

//This is the number of results displayed per page 
$page_rows = 4; 

//This tells us the page number of our last page 
$last = ceil($rows/$page_rows); 

//this makes sure the page number isn't below one, or more than our maximum pages 
if ($pagenum < 1) 
{ 
$pagenum = 1; 
} 
elseif ($pagenum > $last) 
{ 
$pagenum = $last; 
} 

//This sets the range to display in our query 
$max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows; 

//This is your query again, the same one... the only difference is we add $max into it
$data_p = mysql_query("SELECT * FROM post_grp WHERE grpid = '$id' ORDER BY pgid DESC $max") or die(mysql_error()); 

//This is where you display your query results
while($info = mysql_fetch_array( $data_p )) 
{ 
$userpost= "{$info['grppost']}";
$username= "{$info['username']}";
$usermonth= "{$info['month']}";
	$userday= "{$info['day']}";
	$useryear= "{$info['year']}";

echo "<table border='1' align='center'>";
echo "<tr>";
	echo"<td width= '500' align='center'> $userpost</td>";
echo "</tr>";
echo "<tr>";
echo "<td align='right'>Posted by $username on $usermonth, $userday $useryear</td>";
echo "<tr>"; 
echo"</table>";
} 
echo "<p>";

// This shows the user what page they are on, and the total number of pages
echo " --Page $pagenum of $last-- <p>";

// First we check if we are on page one. If we are then we don't need a link to the previous page or the first page so we do nothing. If we aren't then we generate links to the first page, and to the previous page.
if ($pagenum == 1) 
{
} 
else 
{
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=1'> <<-First</a> ";
echo " ";
$previous = $pagenum-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'> <-Previous</a> ";
} 

//just a spacer
echo " ---- ";

//This does the same as above, only checking if we are on the last page, and then generating the Next and Last links
if ($pagenum == $last) 
{
} 
else {

$next = $pagenum+1;
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Next -></a> ";
echo " ";
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$last'>Last ->></a> ";
} 



?>

Link to comment
https://forums.phpfreaks.com/topic/138730-solved-trouble-with-pagenumbers/
Share on other sites

i changed that to the isset but it does the same thing it did before...my problem is that when i first go onto the page i'm shown this url

 

http://localhost/groupsio/post.php?id=1

PAGE 1 of 4

 

when i click next or in this case last i get

 

http://localhost/groupsio/post.php?pagenum=2

PAGE 1 of 2

 

but when i click previous i don't get anything it just stays on the same page

but when i click previous i don't get anything it just stays on the same page

 

Look at $pagenum.  It's ALWAYS equal to 1.  $pagenum is never going to be reset when you click on a link (refresh the page).

 

I think you should do:

 

//This checks to see if there is a page number. If not, it will set it to page 1 
$pagenum = (isset($_GET['pagenum'])) ? $_GET['pagenum'] : 1;

 

Now you know what page you just clicked on to set up your links for the next click. 

 

$_GET['pagenum'] = the page that the user just clicked on

$pagenum will equal $_GET['pagenum'] to do the calculations of what's next/previous/first etc...

 

Do this make sense?

sry, the code works its just that that was for a particular group.

 

when i create another group and let them have their own post everytime i click the submit button i get redirected to the other post. but when i cleck back and refresh the page the post loads where its suppose to be...

 

i guess my qustion is, can i click post withou being redirected to the other post?

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.