Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Row mit PHP editieren

Einklappen

Neue Werbung 2019

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

  • MySQL Row mit PHP editieren

    Hi. Phpmyadmin arbeitet ja so, dass wenn ich ein Row editiere, ein SQL-Befehl nur für geänderten Daten erzeugt wird. Sprich: Wenn ich z.B. nur 'Name' ändere, bleiben die anderen Satensätze unbeeinflusst. Der SQL Befehl heisst dann: "UPDATE xxx SET name=Max";

    Nun würde ich das gerne auch selber in meinem Backend umsetzen. Welchen Weg würdet ihr gehen? Die Daten beim Einlesen der Seite erst in eine SESSION schreiben, und dann abgleichen, oder vor dem Schreiben in die DB überprüfen, ob die Werte mit den Daten in der DB übereinstimmen?

  • #2
    Also so würde ich sagen, würde ich das so machen, dass (logischerweise leere Felder false zurückgeben) ich mit Javascript direkt vergleiche, ob der Inhalt gleich ist, z.B. mit if()

    PHP-Code:
    <?php
         
    echo
    '
    <form action="xyz.php" method="post" onsubmit="javascript: dothat();">
    '
    ;
          while(
    $abc mysql_fetch_object($dididid))
         {
         echo
    '
         <input type="text" name="wasimmer" value="'
    .$value.'" id="test1" />
    '
    ;
         }

         echo
    '
         <script type="text/javascript" language="JavaScript">
         <!--
               function dothat()
              {
                   if(document.getElementById(\'test1\').value == "'
    .$value.'") { document.getElementById(\'test1\').value = ""; }
              }
         //-->
         </script>
    </form>
    '
    ;
    So in etwa würde ich das machen^^
    (Wenn du unbedingt prüfen willst)
    MfG
    ~Capfly

    Kommentar


    • #3
      Zitat von halskrause Beitrag anzeigen
      Welchen Weg würdet ihr gehen?
      So lange du mir keinen expliziten Vorteil des beschriebenen Verfahrens nennen kannst - den ganz normalen, alle gesendeten Daten nehmen und per UPDATE in den Datensatz reinschreiben.
      [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

      Kommentar


      • #4
        Ein Blick in den Quelltext vom pma hätte genügt.

        Code:
        <input type="hidden" value="hier steht der aktuelle Wert" name="fields_prev[multi_edit][0][Pattern]"/>
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Zitat von halskrause Beitrag anzeigen
          oder vor dem Schreiben in die DB überprüfen, ob die Werte mit den Daten in der DB übereinstimmen?
          Die Arbeit nimmt dir MySQL ab. Wenn du nicht gerade einen entfernten DB-Server ansprichst, kannst du einfach alle Felder via UPDATE schreiben. MySQL optimiert das intern und aktualisiert nur geänderte Datensätze, soweit ich das aus meinen Skripts kenne.
          Je grösser der Dachschaden, desto schöner der Ausblick zum Himmel. - [WIKI]Karlheinz Deschner[/WIKI]

          Kommentar


          • #6
            Danke für die Tipps. Es geht mir dabei nur um MySQL/PHP Code Optimierung. Wenn MySQL selber optimiert, dann lass ich lieber.

            Kommentar

            Lädt...
            X