Avatar billede fatter_keine Nybegynder
09. april 2003 - 20:08 Der er 13 kommentarer og
1 løsning

Random fra MySQL

Hejsa...

Hvordan henter man en random ud fra MySQL
Avatar billede Slettet bruger
09. april 2003 - 20:13 #1
først henter du antallet af rækker i tabellen ud i en variabel med mysql_num_rows

så finder du et random tal med rand() eller srand()

så henter du fra databasen where id = tallet


hurtigt forslag.. skriv, hvis du vil have kode!
Avatar billede fatter_keine Nybegynder
09. april 2003 - 20:18 #2
select * from table where id = 'rand()' ???? det duer ikke...
Avatar billede Slettet bruger
09. april 2003 - 20:29 #3
jeg smider noget kode efter aftensmaden...

der går ca 1 time
Avatar billede htx98i17 Professor
09. april 2003 - 20:35 #4
select * from tabel order by rand()

eller

select rand(id) from tabel
Avatar billede Slettet bruger
09. april 2003 - 20:57 #5
//Her er den så.. utestet..


mysql_connect("server","user","passwd");
mysql_select_db("database");

$result = mysql_query("select * from table");

mt_srand ((double) microtime() * 1000);
$randid = mt_rand (1, mysql_num_rows($result));

$result = mysql_query("select * from table where id = '$randid'");

mysql_close();

//out
Avatar billede andy Nybegynder
10. april 2003 - 08:40 #6
HVis du kun skal bruge en row kan du bruge htx98i17's eksempel og adde LIMIT 1. Altså:
SELECT * FROM tabel ORDER BY rand() LIMIT 1

qpq-mads' eksempel virker også men er alt for besværligt og kræver flere mysql queries.
Avatar billede fatter_keine Nybegynder
10. april 2003 - 09:03 #7
htx> smider du et svar ???
Avatar billede htx98i17 Professor
10. april 2003 - 09:10 #8
svar
Avatar billede htx98i17 Professor
10. april 2003 - 09:10 #9
svar igen
Avatar billede tipsen Nybegynder
10. april 2003 - 15:06 #10
mads: Hvad nu, hvis id-numrene ikke er fortløbende?
Avatar billede fatter_keine Nybegynder
10. april 2003 - 16:22 #11
tipsen> ja det studsede jeg også over...

og HTX's løsning er mest enkel.... giver ham pointene...
Avatar billede fatter_keine Nybegynder
10. april 2003 - 21:06 #12
hvordan skal den skrives for at den tilhørende hits skal være over 1 ???

$banner = mysql_query("select * from bannere order by rand()");
Avatar billede htx98i17 Professor
10. april 2003 - 21:26 #13
hva mener du?
Avatar billede tipsen Nybegynder
10. april 2003 - 21:31 #14
SELECT * FROM tabel WHERE hits > 1 ORDER BY RAND() LIMIT 1
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