here's what I did:
(reminder: this was pulled straight out of an old project I did...change the query's and table name's accordingly, but keep the same ORDER's etc...)
PHP Code:
function prev_next( $pr,$nx )
{
$nav = '<a href="'.$self.'?pg_cat='.$_GET['pg_cat'].'&photo='.$pr.'">« Previous</a>';
$nav .= ' | ';
$nav .= '<a href="'.$self.'?pg_cat='.$_GET['pg_cat'].'&photo='.$nx.'">Next »</a>';
return $nav;
}
$photo_prev_q = tep_db_query("SELECT m_id
FROM multimedia
WHERE m_cat_id='$pgcat'
AND m_type = 'Photo Gallery'
AND m_id < '$photoid'
AND m_status = 1
ORDER BY m_id DESC
LIMIT 1");
$photo_next_q = tep_db_query("SELECT m_id
FROM multimedia
WHERE m_cat_id='$pgcat'
AND m_type = 'Photo Gallery'
AND m_id > '$photoid'
AND m_status = 1
ORDER BY m_id ASC
LIMIT 1 ");
// Grab Previous and Next ID's
while ( $photo_prev_r = tep_db_fetch_array($photo_prev_q) )
{
$prev = $photo_prev_r['m_id'];
}
while ( $photo_next_r = tep_db_fetch_array($photo_next_q) )
{
$next = $photo_next_r['m_id'];
}
if ( ($prev == '') && ($next == '') ) // don't go anywhere
{
$prev = $_GET['photo'];
$next = $_GET['photo'];
}
elseif ( $prev == '' ) // loop to the last
{
$photo_prev_alt_q = tep_db_query("SELECT m_id
FROM multimedia
WHERE m_cat_id='$pgcat'
AND m_type = 'Photo Gallery'
AND m_status = 1
ORDER BY m_id DESC
LIMIT 1");
while ( $photo_prev_alt_r = tep_db_fetch_array($photo_prev_alt_q) )
{
$prev = $photo_prev_alt_r['m_id'];
}
}
elseif ( $next == '' ) // loop to the first
{
$photo_next_alt_q = tep_db_query("SELECT m_id
FROM multimedia
WHERE m_cat_id='$pgcat'
AND m_type = 'Photo Gallery'
AND m_status = 1
ORDER BY m_id ASC
LIMIT 1");
while ( $photo_next_alt_r = tep_db_fetch_array($photo_next_alt_q) )
{
$next = $photo_next_alt_r['m_id'];
}
}
// run our nifty function
$prev_next = prev_next($prev,$next);
Bookmarks