Gå til innhold

[LØST] Ønsker X tilfeldige rader fra en tabell


Anbefalte innlegg

Jeg har en tabell hvor jeg har lagt inn en del av websidene jeg som oftest surfer på. Her har jeg lagret id, navn og url.

 

Det jeg ønsker er å hente ut for eksempel 10 tilfeldige rader fra den tabellen. Jeg har fint fått til å få tilfeldige rader med funksjonen rand(), men problemet der er at den kan returnere en verdi null, en eller flere ganger. Da er jo problemet at jeg kan få den samme raden flere ganger. Og det ønsker jeg ikke.

 

Noen gode forslag?

 

Løsning:

 

Ikke no problem...

 

SELECT * FROM `tabell` ORDER BY RAND() LIMIT 0,10;

 

Jammen ser man der :)

 

Det var ikke verre altså. Nå var jeg nesten ferdig med å få det til med bruk av PHP og en del linjer. Jaja, jeg har jo uansett lært litt idag også da.

 

Takker vidarlo

Endret av chriscandy
Lenke til kommentar
Videoannonse
Annonse
les her http://php.net/rand

8903880[/snapback]

Eller enda bedre:

SELECT * FROM `tabell` ORDER BY RAND() LIMIT 0,10;

Då blir utvalget gjort i SQL. Meir elegant fordi du då slepp å tenke på å plukke tilfeldige i php. Sparer deg for en god del linjer kode, og tipper SQL er bedre på å velge ut kjapt enn PHP-løkke.

 

Edit: dessuten sikrer den enkelt og greit at du får unike rader, og du trenger heller ikkje vite kor mange du har totalt i tabellen.

 

SQL er meir avansert språk enn mange trur.

Endret av vidarlo
Lenke til kommentar

i linken har noen postet folgende:

 

The problem with these random row functions below is that they require you to fetch all the query results first. Now this may be OK for a small resultset - but in that case why not just use the SQL  'ORDER BY RAND() LIMIT 10' to do the job.

 

;):)

Lenke til kommentar
i linken har noen postet folgende:

 

The problem with these random row functions below is that they require you to fetch all the query results first. Now this may be OK for a small resultset - but in that case why not just use the SQL  'ORDER BY RAND() LIMIT 10' to do the job.

 

;):)

8905254[/snapback]

Hehe, det er jo den elegante løsning ja :) Men å refere til php.net/rand kan for føre til at folk hogger i gang med randomfunksjonen i PHP. Og det vil vi vel ikkje ;)

Lenke til kommentar
Gjest Slettet+142

Og den kommentaren du snakker om er denne tenker?

 

Og trådstarter; Greit om du kan skrive noe som

[size=12]Løsning:[/size]

eller noe sånt før du skriver hva løsningen ble til, i førsteposten din ;)

Endret av Slettet+142
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...