Oltre a quanto chiedevo nel mio precedente post allego il codice che gestisce la gallery:
Codice PHP:
<?php
include("config.inc.php");
// initialization
$result_array = array();
$counter = 0;
$cid = (int)($_GET['cid']);
$pid = (int)($_GET['pid']);
// Category Listing
if( empty($cid) && empty($pid) )
{
$number_of_categories_in_row = 4;
$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[] = "[url='viewgallery.php?cid=".$row[0]."']".$row[1]."[/url] "."(".$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)."'></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[] = "[url='viewgallery.php?cid=$cid&pid=".$row[0]."'][img]".$images_dir."/tb_".$row[2]."[/img][/url]";
}
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)."'></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>
[url='viewgallery.php']Categories[/url] >
[url='viewgallery.php?cid=$cid']$category_name[/url]</td>\n</tr>\n";
$result_final .= "<tr>\n\t<td align='center'>
[img]".$images_dir."/".$photo_filename."[/img]
$photo_caption
</td>
</tr>";
}
}
// Final Output
echo <<<__HTML_END
<html>
<head>
<title>Gallery View</title>
</head>
<body>
<table width='100%' border='0' align='center' style='width: 100%;'>
$result_final
</table>
</body>
</html>
__HTML_END;
?>
permette:
- visualizzazione link gallerie
- possibilità di entrae in una categoria della galleria con visualizzazione miniature foto
- clic su una miniatura per ingradimento foto
Vorrei apportare delle modifiche ma non so come impostare la cosa.
Premesso che io abbia 8 categorie con 3 foto per ognuna, invece di vedere 8 link-categoria da dover cliccare per visulizzare le miniature, vorrei avere queste categorie "aperte" già in prima pagina schematizzato in questo modo "a colonna"
Categoria 01
Foto 01
Foto 02
Foto 03
sulla destra della colonna "Categoria 01" ci dovrebbe essere "Categoria 02", poi "Categoria 03" ed infine "Categoria 04", sempre con le 3 foto corrispondenti sotto, da "Categoria 05" in poi dovrebbe andare a capo, quindi "Categoria 05", sotto "Categoria 01", "Categoria 06" sotto "Categoria 02", ecc.
Come fare?