Falco: Mehrere Daten in eine Tabelle schreiben

Grüßt euch! Ich weiß bei folgendem Code nicht mehr weiter.
Aus der Tabelle informer sollen alle Einträge geholt werden, die richtig in asura geschrieben haben. Das spuckt er ja auch problemlos aus. Das Problem beginnt, wenn ich alle Einträge in die Tabelle gewinner hauen will. Dann überträgt er mir nur den letzten.

Kann mir wer helfen? :) Habe bereits gesucht, aber nichts gefunden.

<?
$query="SELECT user_id FROM informer WHERE asura='richtig'";
$sql=mysql_query($query);
while($ds=mysql_fetch_object($sql)){
 $user_id=$ds->user_id;
 echo "<tr>";
 echo "<td>$user_id</td>";
 echo "</tr>";
}

$query="INSERT INTO gewinner (user_id) VALUES ($user_id)";
$dummy=mysql_query($query);
?>

Liebe grüße
Falco

  1. Hello,

    Kann mir wer helfen? :) Habe bereits gesucht, aber nichts gefunden.

    entschuldige die Frage, aber _verstehst_ du, was du da tust?? Du lässt dir alle Sätze geben, läufst dann in einer Schleife drüber (da hast du Zugriff auf jeden einzelnen), und NACH der Schleife lässt du EIN Mal ein Insert laufen - ja warum sollte denn da mehr als ein Satz ankommen??

    MfG
    Rouven

    --
    -------------------
    When the only tool you've got is a hammer, all problems start to look like nails.
    1. Hello,

      Kann mir wer helfen? :) Habe bereits gesucht, aber nichts gefunden.
      entschuldige die Frage, aber _verstehst_ du, was du da tust?? Du lässt dir alle Sätze geben, läufst dann in einer Schleife drüber (da hast du Zugriff auf jeden einzelnen), und NACH der Schleife lässt du EIN Mal ein Insert laufen - ja warum sollte denn da mehr als ein Satz ankommen??

      MfG
      Rouven

      :) Nein, ehrlich gesagt weiß ich nicht, was ich da tue. Bzw. mir war schon klar, das mein Versuch auf keinen Fall funktionieren wird.

      Vielleicht gibt mir da noch wer nen kleinen Schubser, damit ich der Lösung näher komme. Das ist nämlich überhaut mein erste "eigen" geschriebener script.

      Liebe Grüße
      Falco

      1. <?
        $query="SELECT user_id FROM informer WHERE asura='richtig'";
        $sql=mysql_query($query);
        $values = array();
        while($ds=mysql_fetch_object($sql)){
         $user_id=$ds->user_id;
         echo "<tr>";
         echo "<td>$user_id</td>";
         echo "</tr>";
         array_push($values, "({$user_id})");
        }

        $query="INSERT INTO gewinner (user_id) VALUES " . implode(",", $values);
        $dummy=mysql_query($query);
        ?>

        MfG
        GK

        1. Ein herzliches dankeschön =)

          1. Hello,

            Ein herzliches dankeschön =)

            und verstehst du jetzt, was da passiert? Wenn nicht, dann hat dich diese Frage nicht wirklich weiter gebracht...

            MfG
            Rouven

            --
            -------------------
            There's no such thing as a free lunch  --  Milton Friedman
            1. Hello,

              Ein herzliches dankeschön =)
              und verstehst du jetzt, was da passiert? Wenn nicht, dann hat dich diese Frage nicht wirklich weiter gebracht...

              MfG
              Rouven

              Endschuldige, das ich erst jetzt schreibe. Ich war in den letzten Tagen verhindert. Um ehrlich zu sein, habe ich deinen Code nicht verstanden und ich gebe dir Recht, gebracht hat es MIR nicht. eigentlich mag ich es nicht, wenn ich stupide einen code kopiere und ihn bei mir einfüge. Mittlerweile bin ich aber mit dem Umgang von PHP schon erfahrener und möchte auf jeden Fall weiterhin am Ball bleiben.

              Liebe Grüße

  2. Ahoi Falco,

      
    <?  
    $query="SELECT user_id FROM informer WHERE asura='richtig'"; // erstelle anfrage  
    $sql=mysql_query($query); // frage nach allesn relevanten Datensätzen  
    // durchlaufe alle Datensätze  
    while($ds=mysql_fetch_object($sql)){  
     $user_id=$ds->user_id; // speichere die user_id EINES datensatzes in $user_id  
    // ausgabe der user_id  
     echo "<tr>";  
     echo "<td>$user_id</td>";  
     echo "</tr>";  
    }  
      
    $query="INSERT INTO gewinner (user_id) VALUES ($user_id)"; // erstellung eines INSERTS eines Datensatzes mit der letzten in $user_id gespeicherten user_id  
    $dummy=mysql_query($query); // diesen Datensatz hinzufügen  
    ?>  
    
    

    Alles klar? Was du willst liese sich wie folgt lösen:

      
    <?  
    $select_query="SELECT user_id FROM informer WHERE asura='richtig'"; // erstelle anfrage für alle relevanten datansätze  
    $insert_query="INSERT INTO gewinner (user_id) VALUES ($select_query)"; // erstellung des INSERTS  
    $dummy=mysql_query($query); // dies user_id's der relevanten Datensätze hinzufügen  
    ?>  
    
    

    Nicht getestet, aber so ungefähr könnts funktionieren, bin zu faul in der MySQL Docu nachzulesen.

    Eine andere möglichkeit wäre:

      
    <?  
    $query="SELECT user_id FROM informer WHERE asura='richtig'"; // erstelle anfrage  
    $sql=mysql_query($query); // frage nach allesn relevanten Datensätzen  
    // durchlaufe alle Datensätze  
    while($ds=mysql_fetch_object($sql)){  
     $user_id=$ds->user_id; // speichere die user_id EINES datensatzes in $user_id  
     // ausgabe der user_id  
     echo "<tr>";  
     echo "<td>$user_id</td>";  
     echo "</tr>";  
     // speichern  
     $query="INSERT INTO gewinner (user_id) VALUES ($user_id)"; // erstellung eines INSERTS eines Datensatzes mit der letzten in $user_id gespeicherten user_id  
     $dummy=mysql_query($query); // diesen Datensatz hinzufügen  
    }  
    ?>  
    
    

    MfG