Hans: Galerie

Hallo.

Ich habe vor eine Galerie zu programmieren. Das hochladen mit Thumbnails funktioniert auch schon.
Mein Problem ist einfach die Ausgabe.

Also ich speicher das so ein das das hochgeladene Bild mit der User Id voran gespeichert wird... bei den thumbs genauso...
und ich speicher dann die daten in die datenbank... also user .. bildname beschreibung usw...

mein problem ist nun wie gebe ich das passend aus.. ich will das so haben das 2-4 Bildergalerien von verschiedenen Usern nebeneinander steht.. darunter dann die nächsten... dann steht da einfach nur Name des Users... irgendeins seiner bilder als link zur galerie usw..
wie kann ich das machen das
1. galerien nicht doppelt angezeigt werden... weil wenn ich auslese und jemand hat 10 bilder läd er die ja auch 10 mal aus... also nur einmal und den restlichen bilder halt nach dem klicken auf das frontbild.
2. wie kann ich das machen das er nur 2-4 (je nachdem wie es aussieht) nebeneinander ausgeben kann und dan darunter die nächsten vier... das bekomm ich irgendwie nicht so hin...

bin noch bei php recht am anfang ;-) aber hoffe ihr könnt mir helfen

  1. Hello,

    mein problem ist nun wie gebe ich das passend aus.. ich will das so haben das 2-4 Bildergalerien von verschiedenen Usern nebeneinander steht.. darunter dann die nächsten... dann steht da einfach nur Name des Users... irgendeins seiner bilder als link zur galerie usw..

    wie kann ich das machen das

    1. galerien nicht doppelt angezeigt werden... weil wenn ich auslese und jemand hat 10 bilder läd er die ja auch 10 mal aus... also nur einmal und den restlichen bilder halt nach dem klicken auf das frontbild.

    Das ist dann Sache der Abfrage.

    T_user               T_galerlie              T_bild              T_suchbegriff
     +-------------+      +-------------+         +--------------+    +---------------+
      id_user -------+     id_galerie -------+     id_bild ------+     id_suchbegriff
      vorname        +---- id_user           +---- id_galerie    |     id_suchklasse  (*, Farbe, ...)
      nachname             Galeriename             Bildklarname  +---- id_bild
      ...                  Galeriebeschreibung     Bilddateiname       Suchbegriff
      max_galeries                                 Bildtext
                                                   Bildbeschreibung

    Duch die passenden Abfragen kannst Du dann alles zusammenstellen.
    Die Bilddateinamen kann man als sogenannte verlorene Namen aufbauen. Wenn der Eintrag in der DB dann verloren geht, weiß man nicht mehr, wem das Bild gehört, oder man baut redundante Namen auf, was die Zugehörigkeit eines Bildes zu einem User auch bei Verlust des Datenbankeintrages kennzeichnet:

    Bilddateiname = "B_$iduser_$unique"

    $unique sollte dann ein genügend großer Zufallswert sein. Dadurch kannst Du die Links
       direkt auf den Namen generieren, ohne dass jemand durch "Zählen" gleich das ganze
       Verzeichnis auslesen kann. 8 Stellen à 36 Zeichen sollte für 'normale Anwendungen'
       schon genügen.

    1. wie kann ich das machen das er nur 2-4 (je nachdem wie es aussieht) nebeneinander ausgeben kann und dan darunter die nächsten vier... das bekomm ich irgendwie nicht so hin...

    Bau Dir ein Template, also eine statische HTML-Seite, die die Links als Variablen enthält

    ...
       <tr>
         <td><img src="<?php echo $_out['bilddatei'][1]; ?>" alt="Bildvorschau" /></td>
         <td><img src="<?php echo $_out['bilddatei'][2]; ?>" alt="Bildvorschau" /></td>
         <td><img src="<?php echo $_out['bilddatei'][3]; ?>" alt="Bildvorschau" /></td>
       </tr>

    <tr>
         <td><img src="<?php echo $_out['bilddatei'][4]; ?>" alt="Bildvorschau" /></td>
         <td><img src="<?php echo $_out['bilddatei'][5]; ?>" alt="Bildvorschau" /></td>
         <td><img src="<?php echo $_out['bilddatei'][6]; ?>" alt="Bildvorschau" /></td>
       </tr>
    ...

    Das kannst Du dann später auch dynamisch genierieren lassen.

    Im Berechnungsteil Des Scriptes belegst Du das Array aus der Datenbankabfrage. Nicht benutzte Array-Elemente des Templates werden mit einem neutralen Bild belegt, damit es keine Notices gibt.
    Wenn Du das nicht möchtest, kannst Du auch das gesamte Tabellenelement (also MIT den <img>-Tags in $_out['zelleninhalt'][$n] ablegen...

    Aber fabg einfach an und mach es dann Schritt für Schritt komplexer.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau