Jessica: mySQL

Hallo!

Kann mir bitte jemand weiterhelfen?

Ich möchte, nachdem Werte aus einer best. Tabelle ausgelesen wurden ($sql_r), diese in eine andere Tabelle übertragen ($sql_r2); siehe folgendes Bsp.:
[ ...
$sql_q  = "SELECT id, name, cat FROM wawi WHERE cat = 'xy'";
$sql_r  = mysql_query($sql_q,$connect);
list($id, $name, $cat, $status) = mysql_fetch_row($sql_r);

$sql_q2 = "INSERT INTO modulliste (username, product_id, name, cat)";
$sql_q2 = $sql_q2."VALUES ('$usrname', '$id', '$name', '$cat')";
$sql_r2 = mysql_query($sql_q2,$connect);
...]

Leider wird aber immer nur der erste Treffer (aus $sql_r) ausgelesen und in die Tabelle "modulliste" geschrieben. Was mache ich falsch??? :-(

Danke im voraus,

Gruß Jessica

  1. Huhu Jessica

    Leider wird aber immer nur der erste Treffer (aus $sql_r) ausgelesen und in die Tabelle "modulliste" geschrieben. Was mache ich falsch???

    Wenn Du die gesamte Ergebnisliste abarbeiten möchtest bietet sich dafür die Verwenudng einer While-Schleife an.

    Ungefähr so:

    while ( list($id, $name, $cat, $status) = mysql_fetch_row($sql_r))
    {

    [....]

    }

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  2. Ich möchte, nachdem Werte aus einer best. Tabelle ausgelesen wurden ($sql_r), diese in eine andere Tabelle übertragen ($sql_r2); siehe folgendes Bsp.:

    Hallo Jessica,

    statt via PHP mühsam und ressourcenfressend durch ein Result Set iterierend Satz für Satz zu übertragen, könntest Du den Transfer von MySQL elegant und effizient in einem einzigen Statement übertragen lassen - mit INSERT ... SELECT http://www.mysql.com/doc/de/HANDLER.html.

    HTH Robert