Bilderpfad in MySQL speichern

Ganz einfach, da er das nirgends schreibt gehe ich davon aus, dass es eine extra Tabelle für die Bilder gibt.
 
Ok, ziemlich verwirrend geb ich zu. Also nochmal im Detail:

1. dem User werden alle Einträge angezeigt die in der Datenbank vorhanden sind.
2. User klickt auf Bearbeiten
3. Formular erscheint, in dem das vorhandene Bild ersetzt werden kann
4. Bild wird ausgewählt und mit meinem oben stehenden Script auf den Server gespeichert
5. Bildpfad (z.b. http://www.test.de/bilder/hallo.jpg) soll in der Datenbank aktualisiert werden

Nr. 5 ist das was ich nicht hinbekomme, nicht mal ansatzweise.

Das Update-Script, das ich grad gepostet hab, war nur ein Beispiel, das benutze ich an anderen Stellen auf meiner Seite. Ich habe es noch nicht umgeschrieben für speziell diesen Fall.

edit: Ihr ward schneller :-)
 
Zuletzt bearbeitet:
Also einfach ein Update... ich kann da kein "Problem" erkennen :(

PHP:
$dbanfrage = "UPDATE $tabelle SET bild='$bildpfad' WHERE id = '$id' ";
 
Dh. ich möchte die Url von dem jeweiligen Bild in der MySQL Datenbank unter dem vorher ausgewählten Eintrag abgelegt werden. Und genau das fehlt mir.

Nein, dir fehlt gar nichts, da du schon alles hast.

Was hindert dich denn daran, den Pfad, den du dir zum Speichern deiner Datei zusammenbaust, auch einfach in die Datenbank zu schreiben? ?
 
@Kipperlenny:
Ihr ward nur schneller als ich

@Loomes:
Genau das war das Problem, so blöd es vielleicht klingt.

Hab das mal eingebaut, als Ausgabe kommt jetzt: Bild hochgeladen... Einsatz 2006 editiert..

Klingt ja schon mal super, allerdings verändert sich am Datenbankeintrag nichts.

Hier trotzdem nochmal das komplette Script.

PHP:
    <?php 
if (isset( $_POST['submitbutton'] )) 
{ 
    $Erlaubte_Dateiendungen = array( "jpg", "gif", "png" ); 
    $Dateiname_bereinigen = array( 'ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss', ' ' => '_' ); 
    if ($_FILES['datei']['size'] > 0) 
    { 
        $UploadDateiEndung = array_pop( explode( ".", strtolower( $_FILES['datei']['name'] ) ) ); 
        if (!in_array( $UploadDateiEndung, $Erlaubte_Dateiendungen )) 
        { 
            die( "Die angeh&auml;ngte Datei hat eine nicht erlaubte Dateiendung!" ); 
        } 
        $DateiNameNeu = strtr( strtolower( $_FILES['datei']['name'] ), $Dateiname_bereinigen ); 
        $umask_alt = umask( 0 ); 
		if (@move_uploaded_file( $_FILES['datei']['tmp_name'], "bilder/" .$DateiNameNeu ))  

        { 
            @chmod( $DateiNameNeu, 0755 ); 
            umask( $umask_alt ); 
			echo "Bild hochgeladen";
        } 
        else 
        { 
            umask( $umask_alt ); 
        } 
    } 
} 
?> 
<?php
$bildpfad = 'www.xxx.de/page/verein/bilder/' .$DateiNameNeu; 

$host = "xxx"; 
$user = "xxx"; 
$password = "xxx"; 
$dbname = "xxx"; 
$tabelle ="xxx"; 
$dbverbindung = mysql_connect ($host, $user, $password); 
$dbanfrage = "UPDATE $tabelle SET Bild1='$bildpfad' WHERE id = '$id' "; 
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {  
print ("<br>Einsatz 2006 editiert...<br><br>");  
} else {  
print ("Es traten Probleme auf...<br/>");  
echo mysql_error();  
}   
mysql_close ($dbverbindung);          
?>
 
übergibst du die ID irgendwie mit beim Hochladen der Bilder?

Wenn nicht musst du das über die URL oder ein hidden input machen. Weil sonst weiß er ja beim "UPDATE" nicht welche $id du meinst.
 
Die ID wird über das vorherige Formular übergeben, allerdings denke ich, das ich hier irgendwas falsch mache:

HTML:
<form name="DateiUpload" id="DateiUpload" method="post" action="vereinupdatebild1.php?id=ausgabe[$id]" target="_self" enctype="multipart/form-data"> 
    <input type="file" name="datei" id="datei"><br> 
    <input type="submit" name="submitbutton" id="submitbutton" value="Datei hochladen"> 
</form>
 
Zurück