Jump to content


Photo

Dynamic gallery


  • Please log in to reply
1 reply to this topic

#1 rtswimmer

rtswimmer
  • New Members
  • Pip
  • Newbie
  • 3 posts

Posted 07 July 2006 - 10:50 AM

Ive got an array of files, which are used to create thumbnails.
I only want 12 thumbnails on each page so ive done this:
   $default_dir = "./products/corporate_signs/gallery/images";
    $height = 50;
    $x = 0;    
    $no = 0;  //counts number of files
    $fpp = 12; // files per page
    $thumb = array();
                    
    if(!($dp = opendir($default_dir))) die("Cannot open $dir"); 
    while($file = readdir($dp)) { 
        if($file != '.' && $file != '..' && stristr($file,"jpg")){ $thumbs[$no] = $file; $no++;    } 
    }closedir($dp);
    $pages = ceil($no / $fpp); // Sets Page numbers

            echo"<table border=\"0\" cellpadding=\"0\" cellspacing=\"10\">\n"; 
            switch($id){
                case"1" :
                    for($i=0; $i<12; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=1&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"2" :
                    for($i=12; $i<24; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=2&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"3" :
                    for($i=24; $i<36; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=3&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"4" :
                    for($i=36; $i<48; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=4&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"5" :
                    for($i=48; $i<60; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=5&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"6" :
                    for($i=60; $i<72; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=6&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"7" :
                    for($i=72; $i<84; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=6&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                case"8" :
                    for($i=84; $i<96; $i++){
                        if ($x == 0) { echo"\t<tr>\n"; }    $x++;
                        if ($i < $no){ echo"\t\t<td height=\"$height\"><a href=\"?id=6&?pic=$i\"><img src=\"./gen.php?$default_dir/$thumbs[$i]\" border=\"0\"></a></td>\n";}        
                        if ($x == 3){ echo"\t</tr>\n"; $x = 0; }
                    }break;
                default :
                    header("Location: find.php?id=1");
            }echo"</table>";
            for($i=1; $i<=$pages; $i++){ echo"<a href=\"find.php?id=$i\">$i<a>"; }//Outputs Page Links
(I know its not very tidy or efficient)
But as you can see im only limited to having 96 images, unless i add more case statements.

Also i need help on the main images.. when i click the thumbnail i want the full image shown on the page next to the list of thumbnails.
I cant seem to get it to work tho
switch($pic){
        case"1" :
            echo "<img src=\"$default_dir/$thumbs[1]\" border=\"0\">"; break;
        case"2" :    
            echo "<img src=\"$default_dir/$thumbs[2]\" border=\"0\">"; break;
        default :
            echo "Default";
Like before tho i need the case statement to be dynamic so it doesnt matter how many images there are.

Hope that makes sence. Can anyone help me?
Cheers RTSwimmer

#2 Daniel0

Daniel0
  • Staff Alumni
  • Advanced Member
  • 11,956 posts

Posted 07 July 2006 - 11:16 AM

You might want to look at this site's pagination tutorials :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users