Ankündigung

Einklappen
Keine Ankündigung bisher.

Mit MySql einen bestimmte Zeile UPDATEN

Einklappen

Neue Werbung 2019

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

  • Mit MySql einen bestimmte Zeile UPDATEN

    Hallo liebe PHP-Programmierer,

    ich habe für eine kleine Übung ein Shoutbox mit PHP und MySql programmiert.

    Folgende Zeilen habe ich für meine MySql-Tabelle benutzt:
    id
    text
    date


    Alles läuft prima mit dem Schreiben und Lesen (MySql).

    Aber jetzt wollte ich mal eine Funktion rein bringen,
    die mir eine bestimmte Zeile in meiner MySql-Tabelle ändert.

    So habe ich probiert:

    PHP-Code:
                                <?php
                                
                                    
    if(isset($_POST["aendern"])) {
                                    
                                        
    $beschaeftigung $_POST["beschaeftigung"];                // die Variable für meinen neuen Inhalt
                                        
                                        
    $update mysql_query("UPDATE beschaeftigung SET text='$beschaeftigung' WHERE id=''");
                                        
                                        echo 
    "Deine Änderung wurde gespeichert!";
                                    }
                                    else {
                                    
                                        echo 
    "Hobbala, da wollte jemand schlau sein!";
                                    
                                    
                                    }
                                    
                                
    ?>
    Wenn ich die WHERE in meiner mysql_query weg lasse, ändert er mir alle Zeilen, aber ich möchte eine bestimmte Zeile ändern.
    Und wenn ich die zwei Anführungsstriche leer lasse, ändert der MySql mir nichts.


    Falls andere Dateien,
    benötigt werden, stelle ich sie rein.


    Kann bitte jemand behilflich sein?

    Über Tipps würde ich mich sehr freuen


    Beste Grüße
    Aydin


  • #2
    Naja, du musst dort schon die ID des Datensatzes angeben, den du ändern willst.
    http://hallophp.de

    Kommentar


    • #3
      Zitat von Aydin Beitrag anzeigen
      Wenn ich die WHERE in meiner mysql_query weg lasse, ändert er mir alle Zeilen,
      Logisch.
      aber ich möchte eine bestimmte Zeile ändern.
      Und wenn ich die zwei Anführungsstriche leer lasse, ändert der MySql mir nichts.
      Warum willst du denn in der WHERE-Klausel irgendwas leer lassen?

      Du willst eine bestimmte Zeile ändern, und du hast deinen Zeilen eine eindeutige ID gegeben, um sie darüber gezielt und eindeutig ansprechen zu können.

      Also ist doch wohl logisch, dass du die ID deiner bestimmten Zeile dort als Vergleichswert einsetzt.

      Kommentar


      • #4
        Danke für eure schnelle Antworten,


        wenn online auf meiner Homepage etwas löschen möchte,
        kann ich ja nicht, erst in phpmyadmin schauen und dort mir die id der zeile merken,
        danach in php es einsetzen.

        ich verstehe es nicht.


        Wie man so etwas Logisch programmiert

        Kommentar


        • #5
          Du willst den Inhalt einer bestimmten Zeile bearbeiten, d.h. du wirst doch sicherlich die Daten dieser Zeile erst mal auslesen, um die Inhalte als Vorgabewerte in einem Formular auszugeben.
          Dabei kannst du auch gleich die ID mit auslesen, und sie bspw. als hidden field im Formular mit unterbringen.

          Kommentar


          • #6
            Zitat von ChrisB Beitrag anzeigen
            Du willst den Inhalt einer bestimmten Zeile bearbeiten, d.h. du wirst doch sicherlich die Daten dieser Zeile erst mal auslesen, um die Inhalte als Vorgabewerte in einem Formular auszugeben.
            Dabei kannst du auch gleich die ID mit auslesen, und sie bspw. als hidden field im Formular mit unterbringen.
            Danke,

            kennst du ein Beispiel oder Tutorial,
            wo ich es mir so anschauen könnte bitte

            ???

            Danke schonmal Voraus

            Kommentar


            • #7
              kann jemand mir bitte behilflich sein?

              Kommentar


              • #8
                Let me google that for you
                Signatur:
                PHP-Code:
                $s '0048656c6c6f20576f726c64';
                while(
                $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

                Kommentar


                • #9
                  Lerne Grundlagen

                  Die ID hast du ja drinnen, weil du jeden Datensatz eindeutig ansprechen können musst.

                  mit:

                  PHP-Code:
                  mysql_query("UPDATE beschaeftigung SET text='$beschaeftigung' WHERE id=''"); 
                  Wird kein Datensatz direkt angesprochen. Du musst schon die ID mit übergeben, also:

                  UPDATE beschaeftigung SET text='$beschaeftigung' WHERE id=''$id"

                  $id dann halt per post mit übergeben.

                  Kommentar


                  • #10
                    Hi,

                    wenn du einen Eintrag ändern/löschen möchtest, liest du diesen Eintrag doch mit Sicherheit zuvor aus der Datenbank aus, bevor du ihn zum löschen/ändern auswählst. Schließlich willst du dir diesen Eintrag zuvor anschauen, um dann überhaupt sagen zu können: Ja, genau mit diesem Eintrag möchte ich etwas anfangen (löschen, ändern oder was auch immer).

                    PHP-Code:
                    <?php
                    $sql 
                    "SELECT `id`, `text` FROM `table`";
                    $result mysql_query($sql) OR die (mysql_error());

                    while (
                    $row mysql_fetch_array($result)) {
                      
                    ?>
                    <p>
                      <?php echo $row['text']; ?>
                    </p>
                    <p>
                      <a href="delete.php?id=<?php echo $row['id']; ?>">Eintrag löschen</a>
                    </p>
                      <?php
                    }
                    Du übergibst also die ID des Eintrags, den du löschen möchtest, mit Hilfe eines Links über die URL. In der Datei delete.php kannst du dir diese ID schnappen und für deine Datenbankabfrage verwenden.
                    http://hallophp.de

                    Kommentar


                    • #11
                      herzlichen Dank,

                      an Euch ALLE

                      auf die Idee mit der ID bin ich nicht drauf gekommen
                      aber jetzt kann ich es mir gut vorstellen

                      ich werde es gleich ausprobieren

                      Kommentar


                      • #12
                        Zitat von Asipak Beitrag anzeigen
                        PHP-Code:
                        <?php
                        <p>
                          <
                        a href="delete.php?id=<?php echo $row['id']; ?>">Eintrag löschen</a>
                        </
                        p>
                          <?
                        php
                        }
                        hi, könntest du bitte
                        beschreiben wie du vor gegagen bist,
                        weil ich verstehe nicht wirklich was in A-Tag gemacht wird.

                        Halt nur, dass es auf die delete.php seite führt weiter kp.

                        Kommentar


                        • #13
                          Sorry, ein wenig solltest du schon selbst zur Problemlösung beitragen! Und das sind Grundlagen!

                          Gruß
                          http://hallophp.de

                          Kommentar


                          • #14
                            hallo schonwieder liebe programmierer,


                            sorry aber ernst
                            ich komme nicht weiter:

                            meine delete.php Datei liest mir die POST einträge aus:

                            PHP-Code:
                            <?php
                                                        
                                                            $id 
                            $_POST["delete"];
                                                            
                                                            echo 
                            "Der Eintrag mit der ID ".$id." wurde erfolgreich gelöscht!";
                                                            
                                                        
                                                            
                            $delete mysql_query('DELETE FROM "beschaeftigung" WHERE id="'.$id.'"');
                                                            
                                                                                    
                                                            echo 
                            '<h3>Ein Eintrag löschen !</h3><br /><br />';


                                                            echo 
                            "Die Funktion funktioniert nicht prima!<br /><br />";
                                                            
                                                            
                                                            echo 
                            '<a title="Zurück zur Startseite!" style="text-decoration:none;color: blue;" href="index.php">Zurück zur Startseite!</a>';
                                                        
                                                        
                            ?>
                            wenn ich die Datei delete.php nachdem Action vom FORM ausführe,

                            meldet er mir auch die ID der Zeile
                            aber es löscht nicht

                            ich habe meine mysql_query 10mal angeschaut
                            und finde kein felher drin


                            habe ich eins?


                            wäre üüber einen Tipp sehr dankbar

                            Kommentar


                            • #15
                              " darf nicht um tabellenname oder spalten gesetzt werden.
                              ` muss man benutzen.

                              Zum Debuggen ist http://de.php.net/manual/en/function.mysql-error.php sehr nützlich...
                              Signatur:
                              PHP-Code:
                              $s '0048656c6c6f20576f726c64';
                              while(
                              $i=substr($s=substr($s,2),0,2))echo"&#x00$i;"

                              Kommentar

                              Lädt...
                              X