backbone: /mysql: ändern von datensätzen

moin!

hab ein problem bei dem ich mal die hilfe von den klugen köpfen hier brauche.

ich lese aus einer DB daten zu der ID x und der ID y (die anzahl ist der id's ist variabel) in html-formular. alles ganz simpel.

jetzt ändere ich die daten und will sie in der db sozusagen updaten. meine frage ist: wie stelle ich das an?

mir platz gleich der schädel da ich einfach nicht drauf komme wie ich das anstellen soll.

schonmal thx for help.

tscha

  1. Hallo,

    UPDATE <tabelle> SET <spalte> = <wert> WHERE <id> = '<meine id>'

    Dieter

    1. moin,

      danke für deinen schnellen post nur die lösung hilft nicht nit wirklich weiter. liess vielleicht nochmal meinen text durch.

      tschau

      1. Hallo,

        Ich bin leider nicht ganz im Bilde, fuerchte ich, was kriegst du auf der Post-Seite mit 'print_r($_POST);' raus und was soll mit dem Ergebnis geschehen?

        Dieter

        1. moin nochmals,

          hier mal nen var_dump.

          array(7) { ["rid"]=>  array(2) { [0]=>  string(6) "raum27" [1]=>  string(6) "raum17" } ["name"]=>  array(2) { [0]=>  string(7) "Raum 27" [1]=>  string(7) "Raum 17" } ["legend"]=>  array(2) { [0]=>  string(15) "Computerraum 27" [1]=>  string(14) "Computeraum 17" } ["admin"]=>  array(2) { [0]=>  string(11) "Fr. Seifert" [1]=>  string(8) "Master X" } ["imgurl"]=>  array(2) { [0]=>  string(48) "http://www.slf.ch/info/images/lageplan-davos.gif" [1]=>  string(15) "image/nomap.jpg" } ["btnaction"]=>  string(16) "Daten übertragen" ["btnactionhidden"]=>  string(16) "edit_room_action" }

          vielleicht hilfts. denn wie ich es oben anders erklären soll weiss ich nicht wirklich.

          tschau

          1. Hallo,

            Ich weiss zwar nicht genau, was mit den einzelnen Daten passieren soll, aber ich versuch's mal:
            Erst gehst Du mit foreach durch den Postarray, die Werte im Beispiel beziehen sich auf den ersten Datensatz:

            foreach($_POST as $key => $value)
            {
              // $key enthaelt jetzt 'rid', $value 'array('raum27', 'raum17')
              // jetzt mit for durch $value
              for ($i = 0; $i < count($value); $i++)
              {
                // $value[$i] enthaelt erst 'raum27', dann 'raum17'
                mysql_query ("update <tabelle> set <spalte 1> = '$key' where <id> = '$value[$i]'";
              // das wuerde, falls 'raum27' dein identifier ist, <spalte 1> auf den Wert 'rid' setzten, gleiches fuer 'raum17'
              }
            }
            Ich weiss jetzt natuerlich nicht, was womit upgedatet werden soll, also muss deine Query moeglicherweise anders aussehen, aber jedenfalls wird auf diese Art mit all deinen Werten irgendwas gemacht.

            Randbemerkung: setzte vor print_r($_POST) immer ein print '<pre>', dan kann man's besser lesen.

            Dieter

  2. Hello,

    da schau Dir mal den Thread [pref:t=62991&m=356599] an.

    Das was Du benötigst, ist das selbe Verfahren, eben nur mit update, statt delete und ggf. auf einen Satz beschränkt.

    Grüße

    Tom