Hello, I am trying to use a PHP Paginator for my website, I downloaded code from here (http://php.about.com/od/phpwithmysql/ss/php_pagination.htm) and edited a bit, this is my edited code: <?php //This code created by Angela Bradley on php.About.com $pagenum = $_GET['pagenum']; $video = $_GET['video']; // Connects to your Database mysql_connect("mysqlserver", "username", "password") or die(mysql_error()); mysql_select_db("dbname") 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))&&!(isset($video))) { $pagenum = 1; } elseif (!(isset($pagenum))&&(isset($video))) {$pagenum = "HERE IS WHERE I NEED HELP";} //Here we count the number of results //Edit $data to be your query $data = mysql_query("SELECT * FROM ratings where ID > 0 order by ID desc") or die(mysql_error()); $rows = mysql_num_rows($data); //This is the number of results displayed per page $page_rows = 15; //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 range that we will 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 ratings where ID > 0 order by ID desc $max") or die(mysql_error()); //This is where you display your query results while($info = mysql_fetch_array( $data_p )) { Print $info['id']; echo "<br>"; } 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> "; } ?> PHP: You can see it live here. http://www.chetos.es/pag.php Ok, where I need help is here elseif (!(isset($pagenum))&&(isset($video))) {$pagenum = "HERE IS WHERE I NEED HELP";} PHP: I would like the script to set $pagenum according to the ID of the video being showed, for example, if an user is in pag.php?video=40 (that video right now would be in the second page of the paginator) I would like $pagenum to be set to 2. Do you know what I mean? Please tell me if you don't understand. Is there any way to do that? Thanks in advance.
Forgot to say, ID ($video) is ordered DESC (So, 55 to 1, not 1 to 55). That's important I think. Is there any way to do that? Thanks (I can't edit the post)
SOLVED: I did this elseif (!(isset($page))&&(isset($video))) {$latestquery = mysql_query("SELECT max( id) FROM `ratings`") or die(mysql_error()); $latest= mysql_result($latestquery, 0); $pagenum = 1+floor(($latest-$video)/$page_rows);} PHP: