Zwei Tabellen gleichzeitig ändern

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

  • Zwei Tabellen gleichzeitig ändern

    Hallo, bin noch recht neu auf dem PHP-Gebiet. Ich komme auch gleich mal zu meinem kleinen Problem.

    Ich habe ein Script geschrieben, mit dem ich Daten aus einer MySQL-Tabelle auslese, welche mir dann in einer Tabelle fein säuberlich ausgegeben werden. Am Ende jeder Zeile habe ich 2 Formularfelder eingebaut (edit und delete), am Anfang der Seite steht auch nochmal eine kleines Formular mit 1 Eingabefeld und einem Button.
    Wenn ich nun auf "edit" in einer der Zeilen klicke, parst er mir 2 Daten aus der unteren Ausgabetabelle ins obere Formular ($username und $userid). Nun ändere ich den Usernamen auf XYZ ab und klick auf "updaten".

    Aufgabe des Scriptes nun:
    1. Es soll mir zum einen in die untere Ausgabetabelle einen neuen Wert für diesen User eintragen. Dies passiert auch ohne Probleme und der neue Wert wird auch gleich angezeigt.

    2. Soll mir das Script gleichzeitig den Usernamen in einer zweiten Tabelle auf den neu angegebenen Usernamen ändern.

    Beide Tabellen haben eine Spalte "id", die den gleichen Wert hat.

    Mein Problem:
    Die 1. Aufgabe führt das Script ohne Probleme aus. Nur bekomme ich es einfach nicht hin, dass das Script die 2. Aufgabe gleich im Anschluss an das 1. Query, beim klick auf den "update"-Button ausführt.

    Hier der Script-Teil der für die Aufgaben zuständig ist:

    PHP-Code:
    <?
    include ("../conf/mysql.inc");

    $aktion = $_GET['aktion'];
    $userid = $_GET['userid'];
    $username = $_GET['username'];

    if ($aktion == "löschen") {
      $query = "DELETE FROM jf_nickchange WHERE userid = $userid";
      $dummy = mysql_query($query);
      unset($username, $userid);
    } elseif ($aktion == "edit"){
      $query = "SELECT userid, username FROM jf_nickchange WHERE userid = $userid";
      $result = mysql_query($query);
      $ds = mysql_fetch_object($result);
      $userid = $ds-> userid;
      $username = $ds-> username;
    } else {
      $userid = $_POST['userid'];
      $username = $_POST['username'];
      $newusername = $_POST['newusername'];
      if (!empty($username)) $query = "UPDATE jf_nickchange
        SET anfrage = '<font color=FF0000>erledigt</font>'
        WHERE userid = $userid";
        $dummy = mysql_query($query);
        unset($username, $newusername, $userid);
    }
    ?>
    ####
    EDIT:
    Hier ein Screenshot von der Browseronsicht des kompletten Scriptes: Script-Screenshot

    Könnt ihr mir evtl. weiterhelfen?
    Gruß Cybis
    Zuletzt geändert von Cybis; 13.05.2005, 11:28.

  • #2
    Obwohl meine Auflösung grßer als 1024 ist, muss ich scrollen. Bitte Regeln beachten: http://www.php-resource.de/forum/sho...threadid=50454

    Kommentar


    • #3
      Sorry wegen der Breite, habs nachträglich gebessert.

      Kommentar


      • #4
        wo haste denn versucht ne zweite query zu senden?

        BTW: gehts evtl auch mit eriner query?!

        Kommentar


        • #5
          Hatte versucht das 2te Query gleich im Anschluß an das erste zu hängen (hatte es in einem tut gelesen, das dies so möglich wäre):

          PHP-Code:
          else {
            
          $userid $_POST['userid'];
            
          $username $_POST['username'];
            
          $newusername $_POST['newusername'];
            if (!empty(
          $username)) $query "UPDATE jf_nickchange
              SET anfrage = '<font color=FF0000>erledigt</font>'
              WHERE userid = 
          $userid";
              
          $dummy mysql_query($query);
          //...
              
          $query "UPDATE jf_registry
                               SET username = 
          $username
                               WHERE id = 
          $userid";
              
          $dummy mysql_query($query);
          //...
              
          unset($username$newusername$userid);

          Wüsste nicht, wie ich das in ein Query packen könnte, da ich in der 1. Tabelle die Spalte "anfrage" ändern will, und in der 2. Tabelle nur die Spalte "username".
          Zuletzt geändert von Cybis; 13.05.2005, 11:50.

          Kommentar


          • #6
            haste mal testausgaben, etc gemacht? ich sehe auf anhieb nicht, warum es nicht gehen sollte.

            Kommentar


            • #7
              btw..
              ich hoffe nur in deiner mysql.inc stehen nicht die Mysql-DB-Daten

              Kommentar


              • #8
                wäre ja möglich, dass die datei außerhalb des webroot liegt.

                Kommentar


                • #9
                  Habe das Script schon getestet, das erste Query wird sauber ausgeführt, die akualisierten Daten werden danach auch in der unteren Tabelle angezeigt. Jedoch wird in der zweiten Tabelle keine Änderung an den Daten vorgenommen.

                  Kommentar


                  • #10
                    Genau darum fragte ich nach testausgaben. ausgabe der query, ausgabe von mysql_error, ...

                    ist doch immer das selbe!

                    Kommentar

                    Lädt...
                    X