Zeile auslesen die mit mt_rand ausgewählt wurde

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

  • Zeile auslesen die mit mt_rand ausgewählt wurde

    Hi,

    ich häng gerade an nem Problem, wo ich einfach nicht weiter weis!

    PHP-Code:
      $query $db->query("SELECT * FROM $table[prefix]$table[random] WHERE status='1'");
      
    $count $db->num_rows($query);
      
    $random mt_rand(0,count($count)-1); 
    So wird also eine Zeile ausgewählt! Aber wie kann ich diese Zeile nun auslesen? Ich hab ja keinerlei Daten über diese Zeile!!
    Wie les ich die Zeile nun aus?

    Vielen Dank
    Zuletzt geändert von lsgdcity; 04.07.2004, 12:01.

  • #2
    Re: Zeile auslesen die mit mt_rand ausgewählt wurde

    So wird also eine Zeile ausgewählt!
    wohl kaum!

    benutz das sql rand(), oder LIMIT
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      oder du schaust dir http://www.php.net/mysql-data-seek an
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        Original geschrieben von mrhappiness
        oder du schaust dir http://www.php.net/mysql-data-seek an
        das setzt aber voraus, alle datensätze vorher zu querien!? ... mal wieder die frage, was performanter wäre ... zwei queries (COUNT/LIMIT), oder einer mit data_seek
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          ach, performant soll's auch noch sein?
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Hi,

            ähm das mit der zeile stimmt net, da haste recht!
            ich wollte sagen, dass die anzahl der zeilen mit mt_rand genommen wird und dann die so und so vielte zeile dann ausgewählt werden soll

            mehr hab ich dazu noch nicht!

            @derHund: rand oder limit? hab keins von beidem in der sql-abfrage

            Kommentar


            • #7
              Original geschrieben von Lukas Schulze
              rand oder limit? hab keins von beidem in der sql-abfrage
              dann solltest du das rein schreiben
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Jo,

                hab ich mittlerweile auch

                $zahl1 = $random-1;
                $zahl2 = $random+1;

                "...LIMIT $zahl1,$zahl2";

                funzt

                Kommentar


                • #9
                  toll
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    funzt
                    ja? oder nein?
                    Die Zeit hat ihre Kinder längst gefressen

                    Kommentar


                    • #11
                      keine probleme.

                      funzt einwandfrei

                      danke für die hilfe

                      Kommentar


                      • #12
                        funzt einwandfrei
                        ich kann mir nicht vorstellen, daß es einwandfrei funktioniert, denn einen einwand hätte ich auf jeden fall. das fällt dir sicher nur nicht auf, weil du nur den ersten datensatz abfragst? naja, mir egal.
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          hmmm???

                          Ich habe jetzt 603 Datensätze eingespeichert!
                          Folgenderweise sieht mein Code aus:

                          PHP-Code:
                            /**
                            *  Zufallstext + Zufallsbild anzeigen
                            **/
                            
                          $query $db->query("SELECT * FROM $table[prefix]$table[random] WHERE status='1'");
                            
                          $count $db->num_rows($query);
                            
                          $random mt_rand(1,$count);
                            
                            
                          $zahl1 $random-1;
                            
                          $zahl2 $random+1;
                            
                          $query $db->query("SELECT * FROM $table[prefix]$table[random] LIMIT $zahl1,$zahl2");
                            
                          $row $db->fetch_array($query); 

                          Ich wette mit dir, dass du auf das mt_rand angespielt hast.
                          Der Fehler ist mir beim weitercoden aufgefallen (nicht beim Aufrufen). Dieses COUNT musste raus

                          Kommentar


                          • #14
                            Original geschrieben von Lukas Schulze
                            Ich wette
                            ich wette dagegen

                            wenn$random den wert 5 hat, dann machst du LIMIT 4, 6

                            dir ist klar, dass du damit mehr als einen datensatz bekommst?
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              tja,

                              Ich wette mit dir, dass du auf das mt_rand angespielt hast.
                              leider verloren ...

                              und mrhappiness war wieder schneller
                              Die Zeit hat ihre Kinder längst gefressen

                              Kommentar

                              Lädt...
                              X