ok, hier die Lösung.
Ich habe die galerie.php so angepasst, das die 3 Bereiche in einzelnen Variablen liegen:
PHP-Code:
<?php
/************************************************/
/* Bildergalerie mit PHP und MySQL */
/* */
/* von Steffen Kamper */
/* 2005 */
/* */
/* www.dislabs.de */
/* */
/************************************************/
//Galerie galerie.php
//modus: 0=Galerien 1=Galerie 2=Einzelbild 3=alles
if(!isset($config)) include("config.inc.php");
//Get-Parameter einlesen
$galerie=(isset($_GET['galerie'])) ? $_GET['galerie'] : 0;
$galpic_id=(isset($_GET['galpic_id'])) ? $_GET['galpic_id'] : 0;
$offset=isset($_GET['offset']) ? $_GET['offset'] : 0;
$ref=(isset($gal_as_modul_href)) ? $gal_as_modul_href : $gal_ref;
if(strpos($ref,"?")) $ref.="&"; else $ref.="?";
$paging=false;
//Array für die ID's der Galeriebilder
if($galerie>0) $gal=GalerieInfo($galerie);
$galerie_aus='';
$preview_aus='';
$einzelbilder_aus='';
if($modus==0 || ($modus==3 && $galerie==0)) {
/* Hier werden die Galerien angezeigt */
/* */
$galerie_aus.= '<div id="galpreview">';
$gruppe="|*|";
$first=true;
$paging=false;
//Galerien einlesen
$order=($config['galgruppen']==1) ? "`gruppe`,`pos`" : "`pos`";
$sql="SELECT * FROM `$tablename` where `pic`=0 and `active`=1 order by $order";
$res=mysql_query($sql);
$anzahl_galerien=mysql_num_rows($res);
if($config['paging_maxgaleries']>0 && $anzahl_galerien>$config['paging_maxgaleries'])
//Paging aktivieren
$paging=true;
if($anzahl_galerien==0) {
$galerie_aus.= '<p class="error">Es sind noch keine Galerien angelegt.</p>';
exit;
} else {
}
//Vorschaubilder der Galerien
$sql="SELECT * FROM `$tablename` where `pic`=0 and `active`=1 order by $order LIMIT $offset,".$config['paging_maxgaleries'];
$res=mysql_query($sql);
$anzahl_page=mysql_num_rows($res);
if($paging) {
$galerie_aus.= '<p class="paging">'."\n";
if($paging) {
$startwert=$offset+1;
$endwert=($offset+$anzahl_page<$anzahl_galerien) ? $anzahl_page+$offset : $anzahl_galerien;
$galerie_aus.= ($offset>0) ? '<a href="'.$ref.'galerie='.$galerie.'&offset='.($offset-$config['paging_maxgaleries']).'">'.$config['paginglink_zurueck'].'</a>' : $config['paginglink_zurueck'];
$galerie_aus.= "<span>Galerien <strong>".$startwert."-".$endwert."</strong> von insgesamt <strong>$anzahl_galerien</strong></span>";
$galerie_aus.= ($endwert<$anzahl_galerien) ? '<a href="'.$ref.'galerie='.$galerie.'&offset='.($offset+$config['paging_maxgaleries']).'">'.$config['paginglink_vor'].'</a>' : $config['paginglink_vor'];
}
$galerie_aus.= '</p>';
}
while($row=mysql_fetch_array($res)) {
$galerie_aus.= '<div class="gal">'."\n";
if($config['galgruppen']==1 && $gruppe!=$row['gruppe']) {
$gruppe=$row['gruppe'];
if($first) $first=false; else echo '<hr>';
if($gruppe!="") echo '<p class="galgroup">'.$gruppe.'</p>';
}
$galerie_aus.= '<span><p class="galtitle">';
$galerie_aus.= ($config['use_prefix']==1) ? 'Galerie \''.$row['title'].'\'' : $row['title'];
$galerie_aus.= '</p>';
$galtemp=GalerieStatistik($row['folder']);
$picpath=($galerie_folders==1) ? $gal_path.$galtemp['folder'].'/thumbnails/' : $gal_path.'thumbnails/';
if($galtemp['active_pics']>0) {
$vref=$ref.'galerie='.$row['id'];
$galerie_aus.= '<p class="galinfo">'.$galtemp['active_pics'].' Bilder</p>
<a href="'.$vref.'">
<img src="'.$picpath.FirstThumb($row['folder']).'" alt="'.$row['title'].'" title="'.$row['title'].'">
</a>';
} else {
$galerie_aus.= '<p class="error">keine Bilder<br>in der Galerie</p>';
}
$galerie_aus.= '</span></div>'."\n";
}
$galerie_aus.= '</div>'."\n";
if(isset($gal_as_modul_href)) echo '<hr>';
}
if($modus==1 || ($modus==3 && $galerie>0)) {
/* Hier werden die Vorschaubilder der gewählten Galerie angezeigt */
/* */
if($galerie>0) {
//Paging
$sql="SELECT * FROM `$tablename` where `folder`='".$gal['folder']."' and `pic`=1 and `active`=1 ORDER BY `pos`";
$res=mysql_query($sql);
$anzahl_bilder=mysql_num_rows($res);
if($config['paging_maxpictures']>0 && $anzahl_bilder>$config['paging_maxpictures'])
//Paging aktivieren
$paging=true;
//Alle id'S der Bilder einlesen
while($row=mysql_fetch_array($res)) {
$galpics[]=$row['id'];
}
//Vorschaubilder
$sql="SELECT * FROM `$tablename` where `folder`='".$gal['folder']."' and `pic`=1 and `active`=1 order by `pos` LIMIT $offset,".$config['paging_maxpictures'];
$res=mysql_query($sql);
$anzahl_page=mysql_num_rows($res);
//Hier beginnt die Ausgabe
$preview_aus.= '<div id="singlegalery">';
if(!isset($gal_as_modul_href)) {
$preview_aus.= '<a href="'.$ref.'">zurück zur Galerie-Übersicht</a>';
$preview_aus.= '<hr>';
}
$preview_aus.= '<h3>';
$title=($gal['title']!="") ? $gal['title'] : $gal['name'];
$preview_aus.= ($config['use_prefix']==1) ? 'Galerie \''.$title.'\'' : $title;
$preview_aus.= '</h3>';
$preview_aus.= '<p class="paging">';
if($paging) {
$startwert=$offset+1;
$endwert=($offset+$anzahl_page<$anzahl_bilder) ? $anzahl_page+$offset : $anzahl_bilder;
$preview_aus.= ($offset>0) ? '<a href="'.$ref.'galerie='.$galerie.'&offset='.($offset-$config['paging_maxpictures']).'">'.$config['paginglink_zurueck'].'</a>' : $config['paginglink_zurueck'];
$preview_aus.= "<span>Bilder <strong>".$startwert."-".$endwert."</strong> von insgesamt <strong>$anzahl_bilder</strong></span>";
$preview_aus.= ($endwert<$anzahl_bilder) ? '<a href="'.$ref.'galerie='.$galerie.'&offset='.($offset+$config['paging_maxpictures']).'">'.$config['paginglink_vor'].'</a>' : $config['paginglink_vor'];
}
$preview_aus.= '</p><p>'.$gal['comment'].'</p><hr>';
//Vorschaubilder anzeigen
$preview_aus.= '<div id="preview">';
while($row=mysql_fetch_array($res)) {
$title='Titel: '.$row['title']."\n".'Breite: '.$row['width'].'px Höhe: '.$row['height']."px\nGrösse: ".HumanSize($row['size']);
$picpath=($galerie_folders==1) ? $gal_path.$gal['folder'].'/thumbnails/' : $gal_path.'thumbnails/';
if($config['popup']==0) {
$vref=$ref.'galerie='.$galerie.'&galpic_id='.$row['id'].'&offset='.$offset.'';
} else {
$picpath2=($config['galerie_folders']==1) ? $gal_path.$gal['folder'].$row['file'] : $gal_path.$row['file'];
$vref=$ref.'galerie='.$galerie.'&galpic_id='.$row['id'].'" onclick="PopUp(\'file='.$row['id'].'&galerie='.$galerie.'\','.$row['width'].','.($row['height']+$config['popup_add']).');return false;';
}
if($row['comment']!="") $title.="\n\nKommentar:\n".$row['comment'];
//Vorschaubild ausgeben
$preview_aus.= '<a href="'.$vref.'"><img src="'.$picpath.$row['file'].'" title="'.$title.'" alt="thumb"></a>';
}
$preview_aus.= '</div><hr>';
$preview_aus.= '</div>';
} else {
//keine Galerie gewählt
$preview_aus.= "Es wurde keine Galerie angewählt";
}
}
if($modus==2 || ($modus==3 && $galpic_id>0)) {
/* Hier werden die Bilder angezeigt */
/* */
if($galpic_id>0) {
//Position des Bildes ermitteln
$gal=GalerieInfo($galerie);
$pos=array_search($galpic_id,$gal['galpics']);
//Neuer Offset ?
$offsetfore=($pos==count($galpics)-1) ? 0 : intval(($pos+1)/$config['paging_maxpictures'])*$config['paging_maxpictures'];
$offsetback=($pos==0) ? intval((count($galpics)-1)/$config['paging_maxpictures'])*$config['paging_maxpictures'] : intval(($pos-1)/$config['paging_maxpictures'])*$config['paging_maxpictures'];
$backlink=$ref.'galerie='.$galerie.'&galpic_id='.(($pos==0) ? $galpics[count($galpics)-1] : $galpics[$pos-1]).'&offset='.$offsetback;
$forelink=$ref.'galerie='.$galerie.'&galpic_id='.(($pos==(count($galpics)-1)) ? $galpics[0] : $galpics[$pos+1]).'&offset='.$offsetfore;
$sql="SELECT * FROM `$tablename` where `id`=$galpic_id";
$res=mysql_query($sql);
$pic=mysql_fetch_array($res);
$picpath=($galerie_folders==1) ? $gal_path.$gal['folder'].$pic['file'] : $gal_path.$pic['file'];
$einzelbilder_aus.= '<div id="picture">';
$einzelbilder_aus.= '<p class="paging"><a href="'.$backlink.'">'.$config['paginglinkeinzelbild_zurueck'].'</a> ';
$einzelbilder_aus.= '<a href="'.$forelink.'">'.$config['paginglinkeinzelbild_vor'].'</a></p>';
$einzelbilder_aus.= '<img src="'.$picpath.'" width="'.(($pic['width']>$config['pic_maxwidth'])? $config['pic_maxwidth'] : $pic['width']).'" alt="'.$pic['title'].'">';
echo '<p>'.$pic['comment'].'</p></div>';
} else {
$einzelbilder_aus.= "Klick auf ein Bild in der Vorschau";
}
}
echo $galerie_aus;
echo $einzelbilder_aus;
echo $preview_aus;
?>
ein Einzelbild wird angezeigt, wenn $galpic_id>0 ist, also kann man die Ausgabe (letzten 3 Zeilen) an eine Bedingung knüpfen:
if($galpic_id==0) echo $preview_aus;
das wars schon