Bild entsprechender ID zuordnen...

markberg

Erfahrenes Mitglied
Hallo,
ich habe per Formular Daten in meiner DB geschrieben und dann im nächsten Schritt via Upload ein Bild hochgeladen... Auf meiner Ausgabeseite erscheinen alle Daten aus der DB (inkl. id). Da ich mehrere Einträge habe und dementsprechend mehrere Bilder wäre mein Frage, wie schaffe ich es, dass jeweils das upgeloadete Bild dem richtigen Eintrag zugeordnet wird?

Also Eintrag user1 = id1 = auto.jpg
................. user2 = id 2 = tante.jpg usw.
 
Nein, der letzte Teil sollte nur ein Beispiel sein, war wohl mißverständlich...

Per Formular gibt jemand seine Daten in die DB ein...
Danach kann er per Upload ein Bild hochladen...

Bei mehreren Einträgen habe ich ja diverse Einträge und diverse Bilder. Nun soll ja logischerweise das Bild zu demjenigen erscheinen, welches er hochgeladen hat!?
Also das Bild von Oma soll natürlcih auch zu den Daten zum Oma und nicht zu Onkel..., sondern der möchte sein Bild sehen.
 
Hi,

speicher doch einfach den Bildnamen in die Tabelle wo auch die Daten von "Oma" sag ich jetzt mal drinnen stehen.
Oder wenn "Oma" mehrere Bilder hochladen darf, dann mach dir eine neue Tabelle mit:

imageid | userid | imagename

und trag dort die Daten ein, wenn du nun alle Datensätze ausliest, also "Oma, Onkel,..usw."
dann wirst du das ja in einer while schleife machen und in dieser suchst du dann in der neuen Tabelle nach der Userid und gibst die Bilder aus.

Ich hoffe ich hab das richtig verstanden was du willst.

Gruß
spitzi
 
Morgen,

das hochgeladene Bild nennst du einfach um. Und zwar nimmst du als Dateinamen einfach die User-ID des jeweiligen Benutzer.

Beispiel:
Oma hat die User-ID 317. Nun kommt Oma daher und lädt ein Bild hoch. Sobald dein Skript das Bild in dein Bilderverzeichnis speichern möchte, sagst du zuvor jedoch, dass das Bild in den Namen 317.jpg umgenannt werden soll.

Schon hast du eine eindeutige Zuweisung.

Siehe hier:
http://de.php.net/manual/de/function.rename.php


Gruß
 
Wenn pro User nur ein Bild hochgeladen werden kann wuerde ich Paula's Vorschlag bevorzugen. So ist dann auch gleich das Problem der doppelten Dateinamen beseitigt.
Wenn jeder User mehrere Bilder hochladen kann ist der Vorschlag von spitzi wohl eher angebracht. Ich wuerde dann fuer jeden User ein Verzeichnis anlegen lassen worin dieser seine Bilder ablegen kann.
Oder die UserID als Prefix fuer den Dateinamen nutzen, so kann man vermeiden einen Haufen Verzeichnisse zu haben.
 
@Paula:
Die rename Funktion kann man sich eigentlich sparen in dem man bereits beim hochladen mit move_uploaded_files() oder copy() oder was auch immer gleich den gewünschten Dateinamen angibt ;)

Gruß
spitzi
 
Hi,
erstmal vielen Dank @PAULA. Nur bin ich jetzt etwas verwirrt! Wenn sich ein User einträgt, dann weiß ich ja nicht, welche ID er bekommt... Gibt ja vielleicht auch den einen oder anderen, der sich ohne Bild einträgt. Und dann habe ich den Salat :) oder wahlweise Oma!?
 
ich schätze mal die ID wird in der Datenbank automatisch erstellt oder ? Also mit AUTO_INCREMENT denke ich mal.

wenn du nach der MySQL Abfrage wo der User eingetragen wird den befehl

$userid = mysql_insert_id();

setzt dann hast du in $userid die aktuelle ID die der User bekommt und kannst so das Bild umbenennen.

Gruß
spitzi
 
Nein, nein...
Ich meine, das Bild soll ja gleich mit dem Eintrag online sein! Viell. habe ich wieder etwas drumherumgesprochen, sorry...
Oder ist das völliger Quark was ich hier probiere!?

Nochmal als Beispiel:

Einträger 1 mit Bild - id 1
Einträger 2 o h n e Bild - id 2 (weil auto_increment!)
Einträger 3 mit Bild - id 3
 
Zurück