Hallo, ich habe mal wieder eine PHP Frage^^
Und zwar geht es um eine Galerie.
Ich möchte gerne einen Ordner auslesen, und alle in ihm sich befindlichen Bilder anzeigen lassen.
Das ist soweit auch kein Problem. Nur möchte ich es gerne so haben, dass jedes einzelne Bild in ein <td> Tag einer Tabelle kommt.
Wenn ich in so einen <td> Tag die Variable einfüge, die den Ordner ausgelsen hat, dann werden in diesesm Tag eben alle Bilder des Ordners angezeigt.
Ich möchte logischerweise nur ein Bild pro <td> angezeigt haben, also wie funktioniert das?
Ich würde dir einfach raten, die Tabelle aufzumachen und dann den PHP-Code zu schreiben:
Ich hoffe es ist richtig, nicht getestet, nur aus dem Kopf. Aber dürfte passen, sonst wird sicher ohnehin gleich jemand über mich herfallen!
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Geändert von drunken monkey (11.04.2006 um 15:31 Uhr)
Eine frage kann noch mal jemand nen script posten wie das ganz aussähe mit einem Javascript das das dann halt links oben oder so kommt, bin begeisteter PHP + MYsql coder aber irgendwie stoße ich da an meine grenzen!!
Danke für den Code oben der ist echt klasse damit hatte ich 300 bilder in 2 sec in ner Table
Erstmal willkommen hier im Forum! Allerdings weiß ich nicht, was da der Fehler sein könnte, von Trivia wie nicht vorhandenem Verzeichnis/File (wie's ja in der Fehlermeldung steht) mal abgesehen.
Zitat von Antares
Oja danke drunken monkey, klappt alles perfekt ; )
Aber eine Frage noch: Wie könnte ich eine Blätterfunktion realisieren?
Soll bedeuten, dass wenn die Galerie eine Bestimmte Anzahl an Bildern erreicht hat, die neuen Bilder in einer neuen Seite dargestellt werden.
...
Bitte!
Und zur Blätterfunktion:
Sollte eigentlich funktionieren.
Mit Links auf "?page=2" usw. könntest du dann auf die weiteren Seiten verweisen.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Es gehört eine zweite Klammer zu, das war der einzige Fehler! >_< Jetzt wo ich die Zeile so sehe, ist's sofort klar! Also:
Ich sollte schlafen gehen...
Angenommen ich habe die Zahl der Bilder, die Pro Seite angezeigt werden auf 6 gestellt, so werden auf Seite 1 6 Bilder angezeigt, soweit so gut.
Aber, wenn ich jetzt auf Seite 2 klicke (habe mal nen Link hinzugefügt "galerie.php?page=2")
dann werden die restlichen Bilder einfach an die 6 Bilder drangehängt, anstatt dass sich ne neue Seite mit den neuen Bildern (ohne die alten) öffnet.
Heißt ja, dass der Code funktioniert, nur sollte er eben dann die "alten" Bilder nicht anzeigen.
Mein heißester Tipp ist, dass du Zeile 20 nicht auch geändert hast: dort gehört natürlich auch "6" statt "30" hin. Also die zum zweiten Mal ausgebesserte Zeile 20:
Dachte es sei klar, hätte es aber auch hinschreiben können.
Ich würde dir einfach raten, die Tabelle aufzumachen und dann den PHP-Code zu schreiben:
...
Ich möchte nur darauf hinweisen, daß so etwas grauenerregend schlechter Stil ist und unter allen Umständen vermieden werden sollte. Inline-Code ist das PHP-Äquivalent zu GOTO: Er führt sehr schnell zu einem unwartbaren Haufen Spaghetticode, den selbst der Autor nur noch mit Mühe entwirren kann. Frag' mal SDS, warum niemand die RMXP-Erweiterung für's Atelier schreiben wollte.
Wenn man mit PHP HTML-Code generiert sollte man Templates nutzen, wann immer das möglich ist. Mit Templates kann man ohne Probleme Interface und Programmlogik voneinander trennen - und sie sind gar nicht mal schwer umzusetzen.
Ein einfaches Templatesystem könnte so aussehen:
Den Kram benutzt man dann so:
Zum Schluß noch die beiden Templates:
Das ist an sich alles, was man für Templates braucht. Man kann in einem Template mehrere Variablen verbauen (die man dann ersetzt, indem man mehrmals str_replace() mit verschiedenen Werten drüber laufen läßt) und man kann Templates in Templates verschachteln und so komplexe Seitenlayouts umsetzen (indem man einfach eine durchgearbeitete Templatevariable nimmt und sie per str_replace() in eine andere einfügt) und hat damit alle Möglichkeiten, die man ohne Templates auch hat. Aber der Code ist sauber getrennt (zwischen HTML und PHP) und man hat später kaum Schwierigkeiten, den Kram zu warten.
Und ja, man sollte für jedes kleine poplige Projekt Templates verwenden (zumindest solange es HTML ausgibt). Wenn man sie nicht verwendet gewöhnt man sich daran, sie nicht zu verwenden und tut da irgendwann auch in einer Seite, die man (oder gar jemand anders) später noch mal warten können muß. Und das kann einem die Arbeit nur schwerer machen.
ZOMG, ich verstehe kein Wort!
Nein, im Ernst: ich hatte keine Ahnung, dass sowas überhaupt geht, ich habe einfach nur den einfachsten Code, der mir eingefallen ist genommen. Und genau das sind dann die Sachen, die gute Programmierer von Leuten trennen, die bloß funktionierende Sachen hinfetzen.
Vielen Dank, du hast meinen Horizont erweitert! Fast so wie die Leute, die mir nach meiner ersten Homepage eine "Feuertaufe" verpasst haben!
Aber am Anfang habe ich echt kein Wort verstanden. Jetzt habe ich's mir nochmal genau durchgelesen und kapiere immerhin halbwegs, um was es geht, vielen Dank!
Freut mich, daß ich dir was vermitteln konnte. Templates sind in PHP wirklich einfach umzusetzen und sie sind verdammt praktisch. (Rate mal, wie man wechselbare Seitendesigns mit wenig Aufwand hinkriegt...)
Freut mich, daß ich dir was vermitteln konnte. Templates sind in PHP wirklich einfach umzusetzen und sie sind verdammt praktisch. (Rate mal, wie man wechselbare Seitendesigns mit wenig Aufwand hinkriegt...)
...
Mir konntest du auch was vermitteln.
klingt ja recht interessant mit den Templates. Und gut, dass ich das hier gelesen habe, bevor ich mit der Überarbeitung / komplett-neu-Schreibung meiner Homepage angefangen habe.