Passing variables with pagination - iterating through unique id per link

Posted on 16th Feb 2014 01:33 pm by admin

Hi everyone,
I have seen a few topics like this one. Still cant find the specific thing, so I am asking - does anyone know this?

I am trying to combine a mysql query with this code I found at

Essentially this is the rub. The pages are working fine, but I am flumoxxed as to how to apply the $imgid to a page (viewing one image per page).

The imgid are in numerical order but do not begin at one, and there may be gaps - eg img 3, 5, 7,8 ,9 and 10 on a 6 page pagination.
I can pass the $page variable because it is a simple increment iteration, but how do I apply the changing $imgid value? so that pp1 has an imgid of 3 passed, pp2 is 5, pp3 is 7 etc. I expect it is something to do with combining a query and an array and applying it, but I'm having a brain-strain at that point.

Gratefully, here is my code stripped of excess ( I hope).


// back button depending on which gallery is parent
if(!isset($_REQUEST['random'])) {

$file= "gallery";

$varid = 0;
} else {
$file= "random";
$varid = 1;

echo "<fieldset><div id="back_but"><a href="gallery.php?blog=$file"> <br /></a></div>";

$url = "blog=picture&pics=picdetail&";

// how many rows to show per page
$rowsPerPage = 1;

// by default we show first page
$pageNum = 1;

// if $_GET['page'] defined, use it as page number
$pageNum = $_GET['page'];

// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;

$query = "SELECT imgid, title, year, description, thumburl, imgurl, medium, style, clientname FROM images LEFT JOIN mediums ON images.mediumid = mediums.mediumid LEFT JOIN imgstyle ON images.styleid = imgstyle.styleid LEFT JOIN clients ON images.clientid = clients.clientid WHERE imgid = $imgid".
" LIMIT $offset, $rowsPerPage";

echo $query;
$result = mysql_query($query);
while($row=mysql_fetch_array($result, MYSQL_ASSOC))

$imgid = $row['imgid'];
$title = $row['title'];
$year = $row['year'];
$description = $row['description'];
$thumburl = $row['thumburl'];
$medium = $row['medium'];
$style = $row['style'];
$client = $row['clientname'];


// how many rows we have in database
$query = "SELECT COUNT(imgid) AS numrows FROM images WHERE tarot = $varid";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];

// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);

// print the link to access each page
$self = $_SERVER['PHP_SELF'];
$nav = '';

for($page = 1; $page <= $maxPage; $page++)
if ($page == $pageNum)
$nav .= " $page "; // no need to create a link to current page

$nav .= " <a href="$self?$url&page=$page">$page</a> ";

// creating previous and next link
// plus the link to go straight to
// the first and last page

if ($pageNum > 1)
$page = $pageNum - 1;
$prev = " <a href="$self?$url&page=$page">[Prev]</a> ";

$first = " <a href="$self?$url&page=1">[First Page]</a> ";
$prev = '&nbsp;'; // we're on page one, don't print previous link
$first = '&nbsp;'; // nor the first page link

if ($pageNum < $maxPage)
$page = $pageNum + 1;
$next = " <a href="$self?$url&page=$page">[Next]</a> ";

$last = " <a href="$self?$url&page=$maxPage">[Last Page]</a> ";
$next = '&nbsp;'; // we're on the last page, don't print next link
$last = '&nbsp;'; // nor the last page link

// print the navigation link
echo $first . $prev . $nav . $next . $last;


No comments posted yet

Your Answer:

Login to answer
184 Like 30 Dislike
Previous forums Next forums
Other forums

Is it a good practice to store user info. in sessions?
I am making a user class for my script which stores all the user information in sessions. It takes u

How to disable direct access to a file
Suppose I've 2 Files. 1.php & 2.php

I don't want anybody to access 2.php directly fr

What makes a script your own?
If someone finds a login script online, and changes some variable names around and some other minor

omega watches outlet
[b][url=]watches price[/url][/b] [b][url=http://www.replicawatchsal

Belstaff Klassische Tourist Trophy Antique Brown [Belstaff-017] - €227.85 : Belstaff Outlet ,
[b]belstaff speichern[/b] [b]Belstaff jacken für männer[/b] belstaff | belstaff | belstaff jac

Sign up to write
Sign up now if you have flare of writing..
Login   |   Register
Follow Us
Indyaspeak @ Facebook Indyaspeak @ Twitter Indyaspeak @ Google+ Indyaspeak @ Pinterest RSS