Array ids and GET function
Posted: Sun Aug 08, 2010 10:00 am
Hi, I have a function that displays the first image in a photo album in large and all the photos in it as thumbnails. I have a next and previous button that allows you to scroll through them (in large) and by clicking a specific thumbnail you can load that picture in large. My problem is that the pictures are stored in an array and the one to be shown large is selected by $keyid.
My problem is that selecting a thumbnail resets the $keyid so that clicking next doesn't load the next image but the second. i.e. if you press the next arrow then click the 4th thumbnail and then click the next arrow again it loads the 2nd picture rather than the 5th as it should.
How can I avoid this happening?
This is my code:
Thanks very much!
My problem is that selecting a thumbnail resets the $keyid so that clicking next doesn't load the next image but the second. i.e. if you press the next arrow then click the 4th thumbnail and then click the next arrow again it loads the 2nd picture rather than the 5th as it should.
How can I avoid this happening?
This is my code:
Code: Select all
generateThumbnails();
$act = 0;
$keyid = (isset($_GET['keyid']) ? $_GET['keyid']:'0');
$Picturecount = (count(glob("" . $dir . "*.jpg")))/2;
$thumb_selected = (isset($_GET['thumb']) ? $_GET['thumb']:'');
$picture_array = glob("$dir*");
if ($thumb_selected !==""){
$dirName = substr($thumb_selected,0,strpos($thumb_selected,basename($thumb_selected)));
$thumbName = basename($thumb_selected);
$thumbFile = $dirName.$thumbName;
$selected = str_replace('_th.jpg','.jpg',$thumbFile);
foreach ($picture_array as $search){
$keyid = array_search($selected,$picture_array);
$large = $picture_array[$keyid];
}}
else{
if($keyid > (2*$Picturecount-1)){
$keyid = ($keyid - (2*$Picturecount));}
if($keyid < 0){
$keyid = (2*$Picturecount+$keyid);}
$large = $picture_array[$keyid];}
echo "
<tr><td><a href='?album=$album&keyid=" . ($_GET['keyid']-2) . "'>Previous</a></td><td></td><td align='right'><a href='?album=$album&keyid=" . ($_GET['keyid']+2) . "'>Next</a></td></tr>
<tr><td colspan='3' height='300' width='400' align='center'><img src='$large' alt=''></td></tr><tr><td height='50'></td></tr>";