Avatar billede kennedk Nybegynder
05. november 2005 - 15:21 Der er 7 kommentarer og
1 løsning

Udskrive en tilfældig bruger fra min database.

Nu har jeg forsøgt lidt med en kode:
            $query = mysql_query ("SELECT * FROM bruger") or die(mysql_error());
           

            $start = "1";
            $slut = mysql_num_rows($query);
           
            $random = rand($start, $slut);
            //echo $random;
            $tal = "1";
            $q = mysql_query ("SELECT * FROM bruger WHERE id=$random LIMIT 1") or die(mysql_error());
            while($r = mysql_fetch_array($q)){
           
            echo $r["brugernavn"];
            }

Men, hvis id'et ikke findes så tager den også den med, også kommer der ikke til at stå noget. Kan man ikke gøre det lidt mere smart så den kun udskriver et id som findes i min database?
Avatar billede Slettet bruger
05. november 2005 - 15:25 #1
Ved god det kan lyde sygt men, efter din random laver et loop som henter rækker indtil du har hentet det antal din random funktion gav og så bruger du informationen du seneste har hentet.
Avatar billede nielle Nybegynder
05. november 2005 - 15:28 #2
$query = mysql_query ("SELECT * FROM bruger ORDER BY rand() LIMIT 1") or die(mysql_error());
$r = mysql_fetch_array($query))
echo $r["brugernavn"];
Avatar billede kennedk Nybegynder
05. november 2005 - 15:36 #3
jeg har selv lavet den. :
            $query = mysql_query ("SELECT * FROM bruger") or die(mysql_error());
            $bruger = array();
            while($r = mysql_fetch_array($query)){
            $bruger[] = $r["id"];
            }
            $start = "0";
            $slut = mysql_num_rows($query) -1;
           
            $random = rand($start, $slut);
            $id = $bruger[$random];
            $q = mysql_query ("SELECT * FROM bruger WHERE id='$id'") or die(mysql_error());
            while($r = mysql_fetch_array($q)){
           
            echo $r["brugernavn"]." <- er den tilfældige bruger";
            }
Avatar billede kennedk Nybegynder
05. november 2005 - 15:39 #4
svar
Avatar billede nielle Nybegynder
05. november 2005 - 15:41 #5
Jeg vil nu alligevel anbefale at du laver den sådan som jeg har angivet i 05/11-2005 15:28:10. Det er noget mere effektivt. ;^)
Avatar billede kennedk Nybegynder
05. november 2005 - 15:45 #6
tja. :D
jeg vidste ikke at man kunne bruge den i en mysql_query.
pinligt at lave sådan en lang kode som kan stå på tre linier. :D
Avatar billede nielle Nybegynder
05. november 2005 - 15:52 #7
Så længe man lære noget hver dag :^D
Avatar billede kennedk Nybegynder
05. november 2005 - 15:55 #8
ja ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester