1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Navigation Gallery Photo

Discussion in 'PHP' started by jj67, Sep 27, 2005.

  1. #1
    Hello

    I'm new in php and I'm trying to build a gallery whith photos.

    I have several categories, and in each of them the photo thumbnails are displayed. What I want to do is to display 15 thumbnails per page and make links "next" and "previous" to navigate between the pages.
    Can anybody help me please ?
    Thanks.

    Viewgallery.php :

    
    <?php 
    include '../Connections/config.ini.php';
    	
    	// initialization
    	$result_array = array();
    	$counter = 0;
    
    	$cid = isset($_GET['cid']) ? (int)($_GET['cid']) : 0; 
        $pid = isset($_GET['pid']) ? (int)($_GET['pid']) : 0;
    	
    	$number_of_photos_in_row = '';
    	$result_final ='';
    	
    	
    	// Category Listing
    
    	if( empty($cid) && empty($pid) )
    	{
    		$number_of_categories_in_row = 1;
    
    		$result = mysql_query( "SELECT c.category_id,c.category_name,COUNT(photo_id)
    						FROM gallery_category as c
    						LEFT JOIN gallery_photos as p ON p.photo_category = c.category_id
    						GROUP BY c.category_id" );
    		while( $row = mysql_fetch_array( $result ) )
    		{
    			$result_array[] = "<a href='viewgallery.php?cid=".$row[0]."'>".$row[1]."</a> "."(".$row[2].")";
    		}
    		mysql_free_result( $result );	
    
    		$result_final = "<tr>\n";
    
    		foreach($result_array as $category_link)
    		{
    			if($counter == $number_of_categories_in_row)
    			{	
    				$counter = 1;
    				$result_final .= "\n</tr>\n<tr>\n";
    			}
    			else
    			$counter++;
    
    			$result_final .= "\t<td>".$category_link."</td>\n";
    		}
    
    		if($counter)
    		{
    			if($number_of_categories_in_row-$counter)
    			$result_final .= "\t<td colspan='".($number_of_categories_in_row-$counter)."'>&nbsp;</td>\n";
    
    			$result_final .= "</tr>";
    		}
    	}
    
    
    	// Thumbnail Listing
    
    	else if( $cid && empty( $pid ) )
    	{
    		$number_of_thumbs_in_row = 5;
    		
    		$result = mysql_query( "SELECT photo_id,photo_caption,photo_filename FROM gallery_photos WHERE photo_category='".addslashes($cid)."'" );
    		$nr = mysql_num_rows( $result );
    
    		if( empty( $nr ) )
    		{
    			$result_final = "\t<tr><td>No Category found</td></tr>\n";
    		}
    		else
    		{
    			while( $row = mysql_fetch_array( $result ) )
    			{
    				$result_array[] = "<a target='_blank' href='$images_dir/".$row[2]."'><img src='".$images_dir."/tb_".$row[2]."' border='0' alt='".$row[1]."' /><br />".$row[1]."</a>";;
    			}
    			mysql_free_result( $result );	
    
    			$result_final = "<tr>\n";
    	
    			foreach($result_array as $thumbnail_link)
    			{
    				if($counter == $number_of_thumbs_in_row)
    				{	
    					$counter = 1;
    					$result_final .= "\n</tr>\n<tr>\n";
    				}
    				else
    				$counter++;
    
    				$result_final .= "\t<td>".$thumbnail_link."</td>\n";
    			}
    	
    			if($counter)
    			{
    				if($number_of_photos_in_row-$counter)
    			$result_final .= "\t<td colspan='".($number_of_photos_in_row-$counter)."'>&nbsp;</td>\n";
    
    				$result_final .= "</tr>";
    			}
    		}
    	}
    
    	// Full Size View of Photo
    	else if( $pid )
    	{
    		$result = mysql_query( "SELECT photo_caption,photo_filename FROM gallery_photos WHERE photo_id='".addslashes($pid)."'" );
    		list($photo_caption, $photo_filename) = mysql_fetch_array( $result );
    		$nr = mysql_num_rows( $result );
    		mysql_free_result( $result );	
    
    		if( empty( $nr ) )
    		{
    			$result_final = "\t<tr><td>No Photo found</td></tr>\n";
    		}
    		else
    		{
    			$result = mysql_query( "SELECT category_name FROM gallery_category WHERE category_id='".addslashes($cid)."'" );
    			list($category_name) = mysql_fetch_array( $result );
    			mysql_free_result( $result );	
    
    			$result_final .= "<tr>\n\t<td>
    						<a href='viewgallery.php'>Catégorie</a> &gt; 
    						<a href='viewgallery.php?cid=$cid'>$category_name</a></td>\n</tr>\n";
    
    			$result_final .= "<tr>\n\t<td align='center'>
    					<br />
    					<img src='".$images_dir."/".$photo_filename."' border='0' alt='".$photo_caption."' />
    					<br />
    					$photo_caption
    					</td>
    					</tr>";
    		}
    	}
    
    // Final Output
    echo <<<__HTML_END
    <html>
    <head>
    <title>Mariage Julia et Bruno le 13 Août 2005</title>
    </head>
    <body>
    <style type="text/css">
    a:link {
    	text-decoration: none;
    	color: #FF6600;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 14px;
    	font-weight: bold;
    }
    a:visited {
    	text-decoration: none;
    	color: #FF6600;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 14px;
    	font-weight: bold;
    }
    a:hover {
    	text-decoration: none;
    	color: #FF6600;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 14px;
    	font-weight: bold;
    }
    a:active {
    	text-decoration: none;
    	color: #FF6600;
    	font-family: Arial, Helvetica, sans-serif;
    	font-size: 14px;
    	font-weight: bold;
    }
    .Style2 {
    	font-size: 12px;
    	font-weight: bold;
    	font-family: Arial, Helvetica, sans-serif;
    	color: #FF0000;
    }
    .Style3 {
    	font-size: 14px;
    	font-weight: bold;
    	font-family: Arial, Helvetica, sans-serif;
    	color: #FF0000;
    }
    .Style4 {
    	font-size: 14px;
    	font-weight: bold;
    	font-family: Arial, Helvetica, sans-serif;
    	color: #FF6600;
    }
    </style>
    <table width="750" height="100%" border="0" align="center" cellpadding="0" cellspacing="0" background="fond.jpg">
    <tr>
        <td height="181" colspan="2" valign="top"><img src="bondo.jpg" width="749" height="181"></td>
    	<td width="750" height="50"></td>
    </tr>
    <td valign="top"><table width='650' border='0' align='center'>
    <br></br>
    $result_final
    <td align="left">
    <br></br>
    <font class="Style2">Pour ajouter vos photos dans notre galerie <a href="preupload.php" class="Style4">cliquez ici</a></font>
    </td>
    </table></td>		
    </table>
    </body>
    </html>
    __HTML_END;
    ?>
    
    Code (markup):
     
    jj67, Sep 27, 2005 IP
  2. rederick

    rederick Peon

    Messages:
    128
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    0
    #2
    rederick, Sep 27, 2005 IP