Zufallszahl und schleife ?

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

  • Zufallszahl und schleife ?

    Hi

    Ich habe eine Tabelle in meine Datenbank die 2 Spalten enthäl : id und name

    In id ist logischerweiße die id des feldes und insgesamt sind es 2000 Einträge.

    Im Feld name steht erstmal überall eine 0.

    Jetzt möchte ich dass eine Zufallszahl zwischen 1 und 2000 erzeugt wird und dann überprüft wird ob im entsprechenden feld name=0 ist.Wenn dies der Fall ist so soll name von 0 auf 1 geupdated werden

    Also so ungefähr :
    PHP-Code:
    <?
    $name_sel="SELECT name from table WHERE id=\"$zufallszahl\"";

    .
    .
    if($name==0) {
    $update="UPDATE table SET name=1 WHERE id=\"$zufallszahl\"";

    .
    .
    Ich denke am besten macht man das mit einer Schleife aber wie das genau gehen soll hab ich noch nicht rausgefunden.Und wie man eine wirklich gute Zufallszahl bekommt weiß ich auch nichtHab nur rand() gefunden aber das liefert nur "Schrott"

    Weiß jmd. von euch weiter ?

  • #2
    PHP-Code:
    mt_srand ((double)microtime()*1000000); // "startet" den Zufallszahlen-Generator
    $zufallszahl mt_rand (1,2000); // erzeugt eine Zufallszahl zwischen 1 und 2000 
    aber was willst du in der Schleife machen? Sollen mehrere Zufalszahlen erzeugt werden?

    Kommentar


    • #3
      Also danke erstmal für die Zufallszahl

      Ich will ne Schleife in der solange überprüft wird ob name=0 WHERE id=$zufallszahl bis true rauskommt
      dann soll auf 1 geupdated werden.

      Bei jedem versuch ne andere Zahl .... kriegst du das hin ? *g*

      Kommentar


      • #4
        so wie ich das sehe, kommst du ja nich drumrum, den heern mysql zu bemühen, warum machst du dann nicht sowas in der art ((wahrscheinlich extrem) optimierfähig)
        PHP-Code:
        $update="UPDATE table SET name=1 WHERE id=\"$zufallszahl\" and name=0";
        do
          
        mysql_query($query);
        while (
        mysql_affected_rows()==0); 
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          muss das nich
          PHP-Code:
          $name_sel="SELECT name from table WHERE id=" $zufallszahl
          sein?

          Kommentar


          • #6
            PHP-Code:
            <?php
            mt_srand 
            ((double)microtime()*1000000); // "startet" den Zufallszahlen-Generator

            do {
              
            $zufallszahl mt_rand (1,2000); // erzeugt eine Zufallszahl zwischen 1 und 2000
              
            $resource mysql_query ("SELECT name FROM table WHERE id='$zufallszahl'");
              
            $result mysql_fetch_row($resource);
              
            $name $result[0];
            } while (
            $name != 0)

            mysql_query ("UPDATE table SET name=1 WHERE id='$zufallszahl'");

            ?>
            so

            Kommentar


            • #7
              wie wär's damit:
              PHP-Code:
              mt_srand ((double)microtime()*1000000);
              $zufallszahl=mt_rand (1,2000);
              $update="UPDATE table SET name=1 WHERE name=0 ORDER BY RAND($zufallszahl) LIMIT 1";
              mysql_query($update); 
              Zuletzt geändert von mrhappiness; 04.02.2003, 21:46.
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Original geschrieben von mrhappiness
                wie wär's damit:
                PHP-Code:
                mt_srand ((double)microtime()*1000000);
                $zufallszahl=mt_rand (1,2000);
                $update="UPDATE table SET name=1 WHERE name=0 ORDER BY RAND($zufallszahl) LIMIT 1";
                mysql_query($update); 
                Da wird abe rnichts geupdated

                Kommentar


                • #9
                  Ist das überhaupt ne Schleife ?

                  Kommentar


                  • #10
                    nö *g*
                    war eher so gedacht, dass der gute geist deiner datenbank alle datensätze, bei denen name den wert 0 hat wild durcheinander würfelt, einen rauszieht und name auf 1 setzt

                    Frag mich jetzt aber nich, warum das nich tut
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Ansich ne gute idee

                      Kommentar

                      Lädt...
                      X