Vorgeschichte:http://forum.jswelt.de/javascript/57427-php-array-js-einbinden.html
Hallo,
in meinem Projekt bin ich jetzt bei der FancyBox angelangt: (wie ich in der Suchfunktion gesehen habe, ist das Programm im Forum nicht unbekannt)
Aber bei manchen Details steckt der Teufel bzw. mangeldes Wissen drin und so hoffe ich weiterhin auf euere Unterstützung.
Erst einmal meine vorläufige Lösung, dann kommen die Fragen:
Die Schnittstelle zu der FancyBox ist die vorletzte Zeile:
Die Arrays $thumbs und $fotos beinhalten lediglich die Pfade zu den Thumbnails bzw. zu den Fotos.
Ausgelesen habe ich sie mit einer for-Schleife, wobei ich ich die beiden Arrays mit AND verbunden habe.
Mit der foreach-Schleife ist es mir nicht gelungen beide Arrays in der Schleife auszulesen.
Fragen:
Darf ich auf euere Hilfe hoffen?
Hallo,
in meinem Projekt bin ich jetzt bei der FancyBox angelangt: (wie ich in der Suchfunktion gesehen habe, ist das Programm im Forum nicht unbekannt)
- Datenbank in eine Bildergalerie auslesen
- Thumbnails der Bildergalerie mit einem Slider anzeigen
- Großbilder mit FancyBox präsentieren
Aber bei manchen Details steckt der Teufel bzw. mangeldes Wissen drin und so hoffe ich weiterhin auf euere Unterstützung.
Erst einmal meine vorläufige Lösung, dann kommen die Fragen:
PHP:
<!-- Albenübersicht -->
<?php
error_reporting(E_ALL);
$error = '';
// Prüfen ob ID übergeben wurde und numerisch ist
if(!isset($_GET['id']) OR !is_numeric($_GET['id'])){
$error = "Sie haben kein Album ausgewählt.<br />\n";
}
else{
// $_GET_Wert sichern
$_GET['id'] = (int)mysql_real_escape_string($_GET['id']);
// Prüfen ob ein Album zur ID existiert
$sql = "SELECT
Name,
Beschreibung,
DATE_FORMAT(Datum, '%d.%m.%Y') as Datum
FROM
alben
WHERE
ID = '".$_GET['id']."'
";
$result = mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
$anzahl = mysql_num_rows($result);
if(!$anzahl)
$error = "Dieses Album existiert nicht.<br />\n";
}
if($error != '')
echo $error;
else{
// Albeninfos und Bilder anzeigen
// Daten des Albums in $row speichern
$row = mysql_fetch_assoc($result);
$sql = "SELECT
ID,
Name,
Beschreibung
FROM
fotos
WHERE
Alben_ID = '".$_GET['id']."'
ORDER BY
Datum ASC
";
$result = mysql_query($sql) OR die("<pre>".$sql."</pre>".mysql_error());
$anzahl_fotos = mysql_num_rows($result);
}
$thumbs = array();
$fotos = array();
if(!$anzahl_fotos){
echo "<p>\n".
"Es befinden sich keine Fotos in diesem Album.\n".
"</p>\n";
}
else{
$i=0;
while($row = mysql_fetch_assoc($result)){
$fotos[]=(PIC_FOLDER.$row['Name']);
$thumbs[]=(TN_FOLDER."TN".substr($row['Name'],3));
}
$error = "Sie haben kein Album ausgewählt.<br />\n";
}
//Ausgabe der Thumbs mit foreach-Schleife
/* echo '<ul id= "scroller">';
foreach($thumbs as $list);
foreach($fotos as $bild){ } */
//Ausgabe der Thumbs mit for-Schleife
echo '<ul id= "scroller">';
for ($x=0;
$x<count($thumbs) AND
$x<count($fotos);
$x++)
{
?>
<a class="fancybox-button" rel="fancybox-button" <?php echo 'href= "'.$fotos[$x].'"'?> title="Bare Trees - Winter (hammermad)">
<img <?php echo 'src="'.$thumbs[$x].'"' ?> alt="" />
<?php
}
echo'</ul>';
?>
PHP:
<a class="fancybox-button" rel="fancybox-button" <?php echo 'href= "'.$fotos[$x].'"'?> title="Bare Trees - Winter (hammermad)">
<img <?php echo 'src="'.$thumbs[$x].'"' ?> alt="" />
Ausgelesen habe ich sie mit einer for-Schleife, wobei ich ich die beiden Arrays mit AND verbunden habe.
Mit der foreach-Schleife ist es mir nicht gelungen beide Arrays in der Schleife auszulesen.
Fragen:
- Wie gesagt, alles funktioniert gut, aber leider nur in FF und IE9 - nicht in Chrome. Hier wird lediglich das erste Thumbnail angezeigt.Gibt es dafür eine Erlärung? Mein Googeln brachte leider nichts.
- In FF und IE fehlt jedesmal das letzte Thumbnail, in der FancyBox wird das Foto aber angezeigt.
- In der FancyBox kann man alle Bilder durchklicken, nur nach dem letzten Bild klickt man 2x leer bevor wieder das 1. Bild kommt. Könnte man nicht generell nach dem letzten Bild stoppen?
- Wie man die Farbe des Bildrahmens ändert, habe ich gefunden aber wie ändert man die Farbe bzw. Opacity des Hintergrunds?
- Ich verwende die fancybox-button-Variante. Klicke ich auf die Diashow, wechselt nur 1 Bild und nichts weiter. Wo kann man die Bildwechsel-Geschwindikeit einstellen? In der CSS nichts gefunden.
Darf ich auf euere Hilfe hoffen?