Ankündigung

Einklappen
Keine Ankündigung bisher.

externes/nachträgliches bestichworten von Daten in einer DB

Einklappen

Unconfigured Ad Widget

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

  • externes/nachträgliches bestichworten von Daten in einer DB

    Hallo liebe Leute.

    Ich hoffe, dass es dieses Problem nicht anderweitg in diesem Forum aufzufinden ist. Ich habe es so detailiert zumindest noch nicht finden können.

    Ich schildere euch mal meine momentane Lage.

    Ich habe bei PhpMyAdmin eine ganz normale Datenbank mit Tabellen erstellt, wo ich Fotos abgespeichert/hochgeladen habe.

    Jetzt möchte ich gerne, dass ich mit einem Befehl die Bilder wieder auslesen kann (das habe ich auch hinbekommen), aber auch gleichzeitig neu bestichworten kann.

    Es soll wie folgt aussehen.
    Es fängt mit der ID an. Ich gebe in ein Formular eine (ID) Nummer ein, welche mir das Bild mit der Nummer ausgeben soll. Dann soll das Bild erscheinen mit folgenden Punkten:

    Titel des Bildes
    Fotograf
    Kategorie
    Stichworte.

    Ziel ist es, mit einer einfachen Eingabe in ein Formluar leicht Bilder nach zubestichworten/ändern.

    Ich hoffe, dass ich mich deutlich ausgedrückt habe.

    Würde mich über eure Hilfe sehr freuen!

    Mfg Lennart


  • #2
    Was spricht gegen ein UPDATE-Statement?
    ACHTUNG!!! SIGNATUR!!!
    PHP-Code:
    var_dump($gehirn); exit; 
    0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

    Kommentar


    • #3
      Wo hackt es denn? Hast du überhaupt schon mal angefangen? Eigentlich ist dein Vorhaben nichts besonderes. Daten aus der Datenbank auslesen, in einem Formular neue Daten eintragen und diese wieder in die Datenbank speichern.

      Kommentar


      • #4
        Hallo Flor1an,

        ich vermute einmal, dass die Lösung relativ banal ist, aber ich komme partout nicht darauf. Mein Ziel ist es, nach Eingabe der foto_id alle dazugehörigen Daten aus der DB in Formularfelder auslesen zu können, um diese dann in einem zweiten Step eventuell zu aktualisieren oder zu vervollständigen (insbesondere die Stichworte zu einem Bild).

        Mein Code ist zu Testzwecken (noch) so angelegt, dass ich das Ergebnis mit allen gewünschten Daten per echo angezeigt bekomme. Aber leider erscheinen die Daten nun einmal nicht in den Formularfeldern. Und da fehlt eben der alles entscheidende Tipp.

        Hier einmal der Code:
        Code:
        <?php
        
        error_reporting(E_ALL);
        
        	// In appvars.php ist die maximale Dateigrösse gespeichert
        	require_once('appvars.php');
        	
        	// In verbvars.php sind die Verbindungsparameter hinterlegt
        	require_once('verbvars.php');
        	
        	// In imagespfad.php ist das Ziel für die Bilder festgelegt
        	require_once('imagespfad.php');
        		
        	if (isset($_POST['submit'])) {	
        	$foto_id = $_POST['foto_id'];
        
         
          // Mit Datenbank verbinden 
          $db = mysqli_connect(DB_HOST, DB_BENUTZER, DB_PASSWORT, DB_NAME);
          mysqli_set_charset($db, "utf8"); 
          
          // Die Bild-Daten aus der Datenbank abrufen
          $sql = "SELECT * FROM bilder WHERE foto_id = '$foto_id'";
          $daten = mysqli_query($db, $sql);
          $i = 0;
          // Die Daten durchlaufen und als HTML formatieren
          echo '<table>';
          while ($zeile = mysqli_fetch_array($daten)) { 
            // Die Bild-Daten anzeigen
            if ($i == 0) {
              echo '<tr><td colspan="2" class="stichwortleiste">Sie haben nach Foto_ID: ' .
                   $zeile['foto_id'] . ' gesucht' . '</td></tr>';          
            }  	
            echo '<tr><td class="eintrag">';
            echo '<strong>Foto_id:</strong> ' . $zeile['foto_id'] . '<br />';	
        	echo '<strong>Titel:</strong> ' . $zeile['titel'] . '<br />';
            echo '<strong>Stichworte:</strong> ' . $zeile['stichworte'] . '<br />';
        	echo '<strong>bild:</strong> ' . $zeile['bild'] . '<br />';
        
        	
            if (is_file(GW_IMAGESPFAD . $zeile['bild']) && filesize( GW_IMAGESPFAD . $zeile['bild']) > 0) {
              echo '<td><img class="db_image" src="' . GW_IMAGESPFAD . $zeile['bild'] . '" alt="Bild" /></td></tr>';
            }
            else {
              echo '<td><img src="images/unbelegt.gif" alt="Bild nicht gefunden" /></td></tr>';
            }
            $i++;
          }
          echo '</table>';
        
          mysqli_close($db);
          
          }  
        ?>
        	<form id="commentForm" enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
        		<input type="hidden" name="MAX_FILE_SIZE" value="65536" />	  
        		<label for="foto_id">Foto_ID:</label>
        			<input name="foto_id" id="foto_id" value="<?php if (!empty($foto_id)) echo $foto_id; ?>" /><br />
        		<label for="titel">Titel:</label>
        			<input name="titel" id="titel" value="<?php if (!empty($titel)) echo $titel; ?>" /><br />
        		<label for="stichworte">Stichworte:</label>
        			<input name="stichworte" id="stichworte" value="<?php if (!empty($stichworte)) echo $stichworte; ?>" /><br />
        		<label for="bild">Bild:</label>
        			<input name="bild" id="bild" value="<?php if (!empty($bild)) echo $bild; ?>" /><br />
        		
        	  <input type="submit" value="Bild laden" name="submit" />
        	</form>

        Kommentar


        • #5
          Zitat von MaiKaY Beitrag anzeigen
          Was spricht gegen ein UPDATE-Statement?
          ACHTUNG!!! SIGNATUR!!!
          PHP-Code:
          var_dump($gehirn); exit; 
          0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

          Kommentar


          • #6
            Hallo MaiKaY,

            das ist sicher der Tipp, der das Ganze zum Laufen bringt. Aber ich bin offengestanden noch etwas zu "Grün", um sofort zu schnallen, wo ich dieses var_dump() in meinen Code einsetzen muss.

            Kommentar


            • #7
              Du fängst deine Daten in der "action" ab und führst dann ein UPDATE-Statement auf deine Datenbank Zeile aus.
              UPDATE - Tutorial
              ACHTUNG!!! SIGNATUR!!!
              PHP-Code:
              var_dump($gehirn); exit; 
              0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

              Kommentar


              • #8
                Was für ein var_dump? Schau Dir doch erstmal ein paar Tutorials zu php & mysql an. Alles, was Du brauchst, kommt in nahezu jedem Tutorial vor. 1. Daten aus der DB holen 2. Daten + Formular anzeigen 3. Formular entgegen nehmen 4. Datensatz _UPDATE_n

                Kommentar


                • #9
                  Zitat von Lennart Beitrag anzeigen
                  Hallo MaiKaY,

                  das ist sicher der Tipp, der das Ganze zum Laufen bringt. Aber ich bin offengestanden noch etwas zu "Grün", um sofort zu schnallen, wo ich dieses var_dump() in meinen Code einsetzen muss.
                  Das var_dump() ist seine Signatur.

                  Kommentar


                  • #10
                    Hallo (nochmal) MaiKaY,

                    da bin ich aber reingefallen. Var_dump() und so...

                    Aber OK. Das mit dem UPDATE Statement ist mir fast klar, aber ich scheitere ja schon vorher. Damit habe ich ja noch nicht meine Daten aus der DB in die Formularfelder ausgelesen???

                    Kommentar


                    • #11
                      Dann such' dir ein gutes Tutorial und lerne den Umgang mit MySQL: Quakenet/#php Tutorial - de - MySQL / Zugriff über PHP .
                      http://hallophp.de

                      Kommentar


                      • #12
                        Liegt vllt daran, das du in deinen Input Feldern
                        PHP-Code:
                        value="<?php if (!empty($zeile['foto_id'])) echo $zeile['foto_id']; ?>"
                        anstatt
                        PHP-Code:
                        value="<?php if (!empty($foto_id)) echo $foto_id?>"
                        schreiben musst?

                        Ansonsten liest du ja deine $_POST-Variablen aus und nicht das, was du aus deiner DB geholt hast...


                        PS: Wie groß soll ich denn noch meine Signatur andeuten? >.<
                        ACHTUNG!!! SIGNATUR!!!
                        PHP-Code:
                        var_dump($gehirn); exit; 
                        0 ??? WTF ? nervtag.de | freutag.net | friendmetr.com

                        Kommentar


                        • #13
                          Erst einmal DANKE an ALLE.

                          @MaiKaY
                          Sorry. Die Signatur ist groß genug Deinen Tipp teste ich.

                          @Asipak
                          Danke für den Link. Den werde ich mir genau ansehen.

                          Kommentar

                          Lädt...
                          X