Bilderpfad in MySQL speichern

cry_baby

Mitglied
Hallo,

ich bastel nun schon ziemlich lange an meinem Script rum, habe kaum das Richtige gefunden, schon viel gegoogelt.

Was ich vorhabe:
Ich habe eine Datenbank, in der verschiedenste Einträge gemacht werden. Funktioniert auch alles einwandfrei. Wenn der Eintrag nun editiert wird, soll es die Möglichkeit geben, zu jedem Eintrag 1-4 Bilder zu speichern. Die Bilder werden mit meinem Code direkt auf den Server geladen. Der Pfad zu den Bildern soll in der Datenbank abgelegt werden. Die ID muss übergeben werden, damit auch der richtige Eintrag in der Datenbank aktualisiert wird.

Mein Problem:
Ich habe keine Ahnung, wie ich den Code ändern muss, damit der richtige Pfad an der richtigen Stelle in der Datenbank landet.

Bitte tut mir den Gefallen, und gebt mir nicht den Tip zu googlen. Das habe ich schon mehrere TAGE hinter mir... Danke :-)

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 ); 
        } 
        else 
        { 
            umask( $umask_alt ); 
        } 
    } 
} 
?> 

<form name="DateiUpload" id="DateiUpload" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data"> 
    <input type="file" name="datei" id="datei"><br> 
    <input type="submit" name="submitbutton" id="submitbutton" value="Datei hochladen"> 
</form>
 
du schiebst die Bilder nach "bilder/" und dem entsprechenden Dateinamen - den Pfad einfach bei dem Beitrag speichern ... Wo ist das Problem?
 
Genau das ist das Problem, was meinst du warum ich hier einen Beitrag schreibe?

weil ich NICHT WEISS WIE ES FUNKTIONIERT!

Theoretisch ist schon klar, an der Umsetzung scheiterts.

Wenn du weisst wie es funktioniert, dann gib mir bitte ne detailiertere Antwort, oder lass bitte andere antworten. Danke.
 
Mir würde es schon reichen, wenn ich wüsste, wie ich nach oder während dem Speichern auf dem Server die Url auslesen und anzeigen könnte. Damit kann ich dann weiterarbeiten.

Vielleicht kann man das mit meinem Script machen?
 
Und wo ist da das Problem?

Du hast doch schon alles was du brauchst - wie sollte die Datei denn auch sonst gespeichert werden?

PHP:
"bilder/" .$DateiNameNeu
 
Das passt schon alles, das Bild wird ohne Probleme an dem Ort abgelegt.

Das Bild, das hochgeladen wurde, muss allerdings mit dem Eintrag verknüpft werden, der vorher zum editieren angeklickt wurde.

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.
 
Da empfehle ich, belese dich zum Thema Sql-Befehle.
Hier dürften die Befehle INSER INTO bzw. UPDATE helfen, abhängig davon ob der Datensatz wo das Bild hinzugefügt werden soll bereits existiert.
 
Zuletzt bearbeitet:
Das Update-Script habe ich schon, funktioniert auch, nur das verknüpfen an das Bild weiss ich nicht, wie es geht...

PHP:
<?php
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="xxx";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = 	"UPDATE $tabelle SET Nummer='$Nummer', Tag='$Tag', 
				Monat='$Monat', Wochentag='$Wochentag', Stunde='$Stunde', 
				Minute='$Minute', Ereignis='$Ereignis', Ort='$Ort', 
				Einsatzart='$Einsatzart', Select1='$Select1', 
				Select2='$Select2', Bericht='$Bericht', 
				Statistik='$Statistik' 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);
?>
 
ich kapier das alles nicht....

Wo willst du die URL zu dem Bild speichern? In der $dbanfrage steht dazu nichts oder?
 
Zuletzt bearbeitet:
So: ( Allerdings verstehe ich da auch nicht wo das Problem nun genau liegt :/ )
PHP:
$bildpfad = 'bilder/' .$DateiNameNeu;

$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="xxx";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "UPDATE $tabelle SET bild='$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);
 
Zurück