Avatar billede appel Novice
16. maj 2003 - 19:50 Der er 7 kommentarer og
1 løsning

Random acces til Mysql

Vi har følgende kodelinie som skulle trække en tilfældig række ud fra en mysqldatabase:

$result = mysql_query("SELECT * FROM database WHERE raekke = 'N' ORDER by RAND() limit 1") or die (mysql_error());

Problemet er bare at det ikke er tilfældigt men stort set altid den samme række der bliver fundet... Nogen der ved hvorfor ??
Avatar billede lademan Novice
16. maj 2003 - 19:56 #1
Jeg har selvsamme problem, hvad er der los?
Avatar billede postndk Nybegynder
16. maj 2003 - 20:01 #2
måske skal du seede din RAND, så det bliver

SELECT * FROM database WHERE raekke = 'N' ORDER BY RAND(NOW()) LIMIT 1
Avatar billede Slettet bruger
16. maj 2003 - 20:17 #3
Det har noget med mysql's rand som er lidt problematisk... med andre ord det du prøver på kan ikke lade sig gøre!

Anyway:
Dette virker og du belaster databasen lige meget... (næsten)
$result = mysql_query("SELECT * FROM database where raekke='N'");
$rows = mysql_num_rows($result);
$random = round(rand(0,$rows));
mysql_data_seek(result,$random);
Avatar billede appel Novice
16. maj 2003 - 21:21 #4
-->regin

hvorfor bruge round? rand returnerer en integer...

En anden korrektion: $random = round(rand(0,$rows-1));
Så får andre der måske læser dette senere også glæde af det.

Men det var præcis hvad jeg var ude efter! Takker :-)

Så du må smide et svar hvis du vil have pointene
Avatar billede Slettet bruger
16. maj 2003 - 21:24 #5
round() -> Dårlig vane... vil ikke ske igen... :P
Avatar billede appel Novice
16. maj 2003 - 22:01 #6
så skidt da :-)
Avatar billede Slettet bruger
16. maj 2003 - 22:05 #7
Hvad blev det til med de point???
*Får næsten dårlig samvittighed ved at spørge!*
Avatar billede appel Novice
17. maj 2003 - 11:30 #8
før søren da... det havde jeg da glemt :-)
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