Ankündigung

Einklappen
Keine Ankündigung bisher.

Überdenken des Konzept: Eigene Bildergalerien für User

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Überdenken des Konzept: Eigene Bildergalerien für User

    Hallo,

    ich bin nun seit einigen Tagen am überlegen, wie ich in einer Community, wo die User bereits selbst Bilder und Videos uploaden können, den Usern die Möglichkeit geben kann, mehrere Galerien (also nach Bedarf) hochzuladen. Momentan mache ich das wie folgt:

    Im eigenen Account kann der User 10 Bilder uploaden. Beim Upload prüfe ich zuerst, ob bereits ein Ordner auf dem Server vorhanden ist a`la (/userbilder/userid/). Wenn nicht, wird er angelegt. So, die 10 Bilder werden dann geuploadet und jeweils in 1.jpg - 10.jpg umbenannt und in den Ordner geladen. In der Tabelle der User habe ich die Felder:

    userimage1
    bis
    userimage10

    jeweils INT(1) mit Standard 0. Alleine das finde ich schon sehr unflexibel, kam aber derzeit auf nichts anderes. Man stelle sich vor, ich würde die Anzahl jetzt erhöhen auf 50 und müsste 50 Tabellenfelder haben.

    Was ich möchte ist eigentlich: User kann Ordnerbeschreibung eingeben und beliebig viele Ordner anlegen (innerhalb seines Ordners /userbilder/userid/) und dort dann sagen wir bis zu 30 Bilder uploaden.

    Ich sehe da 2 Möglichkeiten:

    1. Einfach alle Bilder aus der DIR auslesen und nichts in die DB schreiben. Da gibt es aber dann das Problem, das jedes Bild von uns manuell freigeschaltet werden soll (wie bislang auch).

    2. Irgendeine Datenbanklösung, die mir bislang einfach noch nicht eingefallen ist.

    Ich würde mich über einige Meinungen / Ideen freuen.

    Grüße

  • #2
    Ich würde vorschlagen, dass du für die Galerien zwei Tabellen (galleries und gallery_images) anlegst. In der Tabelle galleries erfolgt die Vergabe einer eindeutigen Id jeder Galerie, die Zuordnung zu einem Benutzer und die Vergabe eines Namens. Natürlich lässt sie die Tabelle auch noch auf Dinge wie Bilder pro Seite etc. erweitern. In der Tabelle gallery_images werden dann die Zuordnungen der Bildnamen zur entsprechenden Galerie vorgenommen. Auf diese Art und Weise kann jeder Benutzer beliebig viele Galerien mit beliebig vielen Bildern erstellen. Alle Bilder befinden sich dabei in einem Verzeichnis.
    Die Struktur der Tabellen könnte dabei so aussehen (SQL-Code für MySQL, ungetestet):
    Code:
    CREATE TABLE galleries (
        galleryid INT UNSIGNED NOT NULL auto_increment,
        userid INT UNSIGNED NOT NULL,
        name VARCHAR(100) NOT NULL,
        PRIMARY KEY(galleryid),
        KEY(userid)
    );
    
    CREATE TABLE gallery_images (
        imageid INT UNSIGNED NOT NULL auto_increment,
        galleryid INT UNSIGNED NOT NULL,
        imagename VARCHAR(255),
        PRIMARY KEY(imageid),
        KEY(galleryid),
        UNIQUE KEY(imagename)
    );

    Kommentar


    • #3
      Hallo xabbuh,

      der Ansatz ist schon sehr gut, vielen Dank! Würde mich über weitere
      Ideen und Ansätze freuen.

      grüße

      Kommentar


      • #4
        xabbuh's Vorschlag ist für meinen Geschmack bei Verwendung einer Datenbank bereits der optimale. Für deinen Fall bräuchtest du dann allerdings noch einen Flag bei "gallery_images" für "activated", Default 0. Den müsstet ihr nach Freischalten des Bildes auf 1 setzen.

        Interessieren könnte dich grundsätzlich dieser Link zum Aufbau von Tabellenstrukturen:
        http://de.wikipedia.org/wiki/Normali...28Datenbank%29

        Kommentar

        Lädt...
        X