Andi: Datenbankzelle um 1 erweitern

Ich habe 2 Tabellen die komplett gleich aufgebaut sind. Nun will ich es reaslisieren, dass bestimmte Werte der einen Tabelle zur anderen dazuaddiert werden. Wie mache ich das?
Hier mal mein bisheriger Ansatz. Aber leider funktioniert er nicht...

$host        = "127.0.0.1";
$dbuser        = "root";
$dbpasswort    = "";
$dbName        = "test";
$tabellenName    = "Umfragen";
$tabellenName2    = "Aktuelle_Umfrage";

$db = mysql_connect("$host","$dbuser","$dbpasswort");
mysql_select_db("$dbName",$db);
$result = mysql_query("SELECT * FROM $tabellenName, $tabellenName2);

while ($myrow = mysql_fetch_row($result)) {
mysql_query("UPDATE $tabellenName, $tabellenName2 set $tabellenName.Ja = $tabellenName.Ja + $tabellenName2.Ja  WHERE $tabellenName.UmfrageNr=$tabellenName2.UmfrageNr");
}

Kann mir jemand helfen?
Danke im Voraus.

Gruß Andi

  1. Gude,

    MySQl führt dir doch keine rechenoperationen durch!
    Das musst du in PHP machen!

    $i = 1;
    $var1 = array();
    $var2 = array();

    $result = mysql_query("SELECT * FROM $tabellenName);

    while ($myrow = mysql_fetch_row($result)) {
      $var1[$myrow]['UmfrageNr'] = $myrow['Ja'];
      $i++;
    }

    $i = 1;

    $result = mysql_query("SELECT * FROM $tabellenName2);

    while ($myrow = mysql_fetch_row($result)) {
      $var2[$myrow]['UmfrageNr'] = $myrow['Ja'];
      $i++;
    }

    for($j=1; $j<$i; $j++) {
      mysql_query("UPDATE $tabellenName2 SET Ja = ".$var1[$j]+$var1[$j]." WHERE UmfrageNr = $j");
    }

    Vorsicht ist ungetestet!

    1. Das funktioniert leider nicht. Ich bekomme einen Fehler...

      Illegal offset type in den Zeilen
        $var1[$myrow]['UmfrageNr'] = $myrow['Ja'];
        $var2[$myrow]['UmfrageNr'] = $myrow['Ja'];

      Weißt du woran es liegen kann?
      Danke im Voraus.

      Gruß Andi

    2. hi,

      MySQl führt dir doch keine rechenoperationen durch!

      so generell wäre ich mit der aussage vorsichtig - natürlich kann mysql auch rechnen.

      z.b.
      UPDATE tabelle SET spalte1 = spalte2 + spalte3
      sollte kein problem sein.

      und http://dev.mysql.com/doc/mysql/de/Numeric_Functions.html gibt's ja sicher auch nicht ganz umsonst ...

      gruß,
      wahsaga

      --
      [ Hier könnte Ihre Werbung stehen! ]
      1. Gude,

        Ok hab mich geirrt, aber ich würds trotzdem mit PHP machen.

        samy,

        1. Ich hab schon so ziemlich alles probiert aber funktionieren tuts immer noch nicht :(

          Jemand noch ne Idde?

          Es Problem is, dass es den Inhalt der einen Zelle nicht zur andren addiert in dem Beispiel oben. Womöglich würds mir schon helfen wenn ich die Zellen addieren könnt...

          1. Gude,

            Probiers doch nochmal hiermit:

            $var = array("wert" => array(),
                          "uid" => array()
            );

            $i = 1;

            $result = mysql_query("SELECT * FROM $tabellenName ORDER BY UmfrageNr ASC");
            while ($myrow = mysql_fetch_row($result)) {
              $var['wert'][$i] = $myrow['Ja'];
              $var['uid'][$i] = $myrow['UmfrageNr'];
              $i++;
            }

            $i = 1;

            $result = mysql_query("SELECT * FROM $tabellenName2 ORDER BY UmfrageNr ASC");
            while ($myrow = mysql_fetch_row($result)) {
              $var['wert'][$i] = $var['wert'][$i]+$myrow['Ja'];
              $i++;
            }

            for($j=1; $j<$i; $j++) {
              mysql_query("UPDATE $tabellenName2 SET Ja = ".$var['wert'][$j]." WHERE UmfrageNr = ".$var['uid'][$j]);
            }

            1. Auch mit dem Quellcode funktioniert es leider nicht.

              Hast noch ne Idee?

              Gruß Andi

              1. Gude,

                Was passwirt denn? Und was komtm für ne Fehlermeldung?

                samy,

                1. Jetzt kommt keine Fehlermeldung mehr aber es addiert den Wert der Zelle $tabellenName2.Ja nicht zu dem Wert $tabellenName.Ja hinzu.

                  Weißt du worans liegen könnte?

                  Andi

                  1. Hi, ich habe jetzt mal ein wenig rumprobiert und habe das Problem gelöst. Jetzt funktioniert alles wie ich es wollte. Danke für eure Hilfe :)

                    Gruß Andi

    3. Gude,

      Ich hab noch ein paar sachen koriegiert:

      $var1 = array("wert" => array(),
                    "uid" => array()
      );

      $i = 1;

      $result = mysql_query("SELECT * FROM $tabellenName ORDER BY UmfrageNr ASC");
      while ($myrow = mysql_fetch_row($result)) {
        $var['wert'][$i] = $myrow['Ja'];
        $var['uid'][$i] = $myrow['UmfrageNr'];
        $i++;
      }

      $i = 1;

      $result = mysql_query("SELECT * FROM $tabellenName2 ORDER BY UmfrageNr ASC");
      while ($myrow = mysql_fetch_row($result)) {
        $var['wert'][$i] = $var['wert'][$i]+$myrow['Ja'];
        $i++;
      }

      for($j=1; $j<$i; $j++) {
        mysql_query("UPDATE $tabellenName2 SET Ja = ".$var['wert'][$j]." WHERE UmfrageNr = ".$var['uid'][$j]);
      }