Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Dynamische Gallerie mit PHP Prob.“

Denniz

Aktives Mitglied

Hi LEute,
ich will eine einfache dynamische Gallerie bauen.
Dabei habe ich ein HTML grundgerüst in dem ein rechter sowie linker Pfeil ist mit dem man
die Galleriepics wechseln kann. DIe Pics werden dann dynamisch in das gleiche dokument geladen.
Klappt auch alles.
Hab jeztz nur ein Prob. und zwar wenn ich die Gallerie HTML starte dann wird nicht das Pic1.jpg zuerst geladen sondern Pic3.jpg.
Liegt warhrscheinlich an der eingesetzten while Schleife.
Vieleicht weiß jemand was ich machen muß damit er mir zuerst die pic1.jpg öffnet und ich dann weiterhin ganz normal navigieren kann.

Meine PHP:
[php:1:d67c086b82]<body>
<?
if ($nr==0 ){
$nr=1;
while (file_exists("pic".$nr.".jpg")){
$nr+=1;
}
$nr-=1;
}
if (!$nr) {$nr=1;}
if (!file_exists("pic".$nr.".jpg")){$nr=1;}
?>
<table width="300" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="3">
</td>
</tr>
<tr>
<td>?nr=<? echo($nr-1);?></td>
<td>&</td>
<td><div align="right">?nr=<? echo($nr+1);?></div></td>
</tr>
</table>
</body>[/php:1:d67c086b82]

Zum testen hab ich das teil mal hochgeladen:



Beste GRüße
-denniz
 

r3nt5ch3r

~ Allround pG ~

Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
</head>
<body>
<?
$nr = $_GET['nr'];
if(empty($nr)){$nr=1;}
$vor = $nr;
$zurueck = $nr;
$vor++;
$zurueck--;
?>
<table width="300" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td colspan="3">[img]pic<? echo $nr;?>.jpg[/img]</td>
  </tr>
  <tr>
    <td><? if(file_exists("pic".$zurueck.".jpg")){ ?>[url="?nr=<? echo $zurueck;?>"][/url]<? } ?></td>
    <td>&</td>
    <td>
	<? if(file_exists("pic".$vor.".jpg")){ ?><div align="right">[url="?nr=<? echo $vor;?>"][/url]</div><? } ?></td>
  </tr>
</table>
</body>
</html>

so irgendwie würd ichs machen^^

Wo kommen denn die Daten überhaupt her ?
aus nem ordner?

Dann müsstest du die Daten vorher sortieren.
sin sortiert nach zahlen

Mit dem RAR-Link kann ich im Moment nichts anfangen.
hmm -.-

ich weiß gar net was du da mit der schleife rummachst^^
ich hab au 2 überprüfungen reingemacht, die testen ob das bild auf das der pfeil verweist überhaupt da ist. um nicht so viel chaos zu erzeugen hab ich 2 neue variablen gemacht^^

ps: gewöhn dir sauberes coden an^^ (ich hab es zwar au nich sauberer gemacht, weil ich sonst alles neu gebaut hätte^^)
 

Denniz

Aktives Mitglied

Hi r3nt5ch3r ,

also irgendie hab ich die syntax grad zerhauen.
Naja egal, wollte es zwar so haben das er mir die galerie in der endloschleife anzeigt.Also
wenn man bei pic1 ist und zurück klickt soll dann das letzte pic angezeigt werden.
Deine Variante ist aber auch ganz cool.

Ok besten dank.

:razz:
 

CIX88

Aktives Mitglied

so irgendwie würd ichs machen^^

Ich würden den Ordner (klar, wo die Bilder liegen) auslesen.
z.B. mit glob() oder opendir() etc..
Dann liegen die Daten als Array vor, was man dann mit natsort() ?natürlich? sortieren kann.

Beim Auslesen brauch man nur noch auf den Inhalt vom Array zugreiffen - fertig.

EDIT:

Und dazu ein sehr sehr einfaches Beispiel:
http://www.cix88.de/cix_php/php_web/cix_einfache_weiterschaltung.php

Jedoch würde ich mir auch gedanken machen, später das alles über eine Datenbank abzuwickeln, wird sicher früher oder später auch werden.
Aber wenn es reichlich Bilder sind führen die oben genanten Methoden zu Performance Problemen.
 

Schrottie

Schrottie

Hier ein kleines Script was dir den Inhalt des Ordners speichert aber nur wenn es ein Bild ist.
in $anzahl_bilder findest du dann die Bilderanzahl. Damit aknnst du eine For-Schleife füttern oder was auch immer.


[php:1:ad2e7ad083]<?php

$galerie_pfad = "";
$verzeichnis = opendir($galerie_pfad);
$eintrag = readdir($verzeichnis);

while($eintrag)
{
$path_parts = pathinfo($eintrag);

switch($path_parts["extension"])
{
case "jpg": $galerie_bilder[] = $eintrag;
break;
case "bmp": $galerie_bilder[] = $eintrag;
break;
case "gif": $galerie_bilder[] = $eintrag;
break;
case "jpe": $galerie_bilder[] = $eintrag;
break;
case "jpeg": $galerie_bilder[] = $eintrag;
break;
case "png": $galerie_bilder[] = $eintrag;
break;
}
$eintrag = readdir($verzeichnis);
}

$anzahl_bilder = count($galerie_bilder);

?>[/php:1:ad2e7ad083][/php]
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben