TJ99: Zufallswert in MYSQL Datensätzen speichern

Hallo!

Ich frage alle Datensätze aus der Tabelle table ab, bei denen die Spalte "alter" gleich 30 ist.
Die Tabelle enthält ebenfalls die Spalte "Wert".

  
 $abfrage1 = "SELECT * FROM table WHERE  alter = '30'";  
 $ergebnis = mysql_query($abfrage);  
 while($row = mysql_fetch_object($ergebnis))  
    {  

Soweit alles gut.

Nun ermittle ich eine Zufallszahl. Ich sage mal, wenn die Zahl zwischen 0 und 50 liegt, dann beinhaltet die Variable $Wert die Zahl 1.

 $zufall = mt_rand(1,100);  
  ### 100 Prozent e  
    if($zufall < "50")  
           {  
     $wert = "1";  
    }  
  
   if($zufall > "50")  
              {  
     $wert = "2";  
    }  

Nun möchte ich, dass jeder Datensatz mit einer durch den Zufallsgenerator ermittelten Zahl bestückt wird.

Wenn ich innerhalb der while Schleife ein Update ausführe, bekommen alle Datensätze den einen ermittelten Wert. Jeder Datensatz sollte aber einen anderen Wert erhalten.

  
 mysql_query("UPDATE table SET  wert = '$wert WHERE alter='30');  

Wie kann ich das realisieren? Danke für Eure Hilfe...

Grüße, TJ

  1. Nun möchte ich, dass jeder Datensatz mit einer durch den Zufallsgenerator ermittelten Zahl bestückt wird.

    Wenn ich innerhalb der while Schleife ein Update ausführe, bekommen alle Datensätze den einen ermittelten Wert. Jeder Datensatz sollte aber einen anderen Wert erhalten.

    Wenn Du wissen willst, wie spät es ist, schaust Du dann _jedes_ mal auf die Uhr oder auf einen Zettel auf dem Du irgendwann _ein_mal aufgeschrieben hast wie spät es war?

  2. Hi,

    Wenn ich innerhalb der while Schleife ein Update ausführe, bekommen alle Datensätze den einen ermittelten Wert. Jeder Datensatz sollte aber einen anderen Wert erhalten.

    Dann ermittle bei jedem Schleifendurchlauf einen neuen zufälligen Wert.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  3. Nga'aiho!

    Nun ermittle ich eine Zufallszahl. Ich sage mal, wenn die Zahl zwischen 0 und 50 liegt, dann beinhaltet die Variable $Wert die Zahl 1.

    $zufall = mt_rand(1,100);

    ### 100 Prozent e
        if($zufall < "50")
               {
         $wert = "1";
        }

    if($zufall > "50")
                  {
         $wert = "2";
        }

      
    Ist das wirklich das, was Du willst? Bei 1 bis 49 den Wert "1", bei 50 gar keinen Wert, bei 51 bis 100 den Wert "2"? Wenn ja, ist der Vergleich der Zufallszahl mit einem String aber immer noch seltsam.  
      
    Ich vermute, Du willst eher 1 oder 2 mit je 50% Wahrscheinlichkeit. In dem Fall reduziert sich der ganze Code auf `mt_rand(1,2);`{:.language-php} …  
      
    
    > Wenn ich innerhalb der while Schleife ein Update ausführe, bekommen alle Datensätze den einen ermittelten Wert. Jeder Datensatz sollte aber einen anderen Wert erhalten.  
      
    … und den resultierenden Wert weist Du nicht am Anfang einer Variable zu, die sich dann nie wieder verändert, sondern verwendest ihn in der Schleife für Dein SQL.  
      
    
    > ~~~php
      
    
    >  mysql_query("UPDATE table SET  wert = '$wert WHERE alter='30');  
    > 
    
    

    Sind wert und alter String-Datentypen? Wenn ja, hast Du ein ' zu wenig; wenn es, wie ich vermute, Zahlen sein sollen, hast Du 3 zu viel. Und für PHP hast Du ein " zu wenig.

    Viele Grüße vom Længlich

    --
    Mein aktueller Gruß ist:
    Amis (Taiwan)