chriscandy Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 (endret) 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 20. juni 2007 av chriscandy Lenke til kommentar
Ståle Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 les her http://php.net/rand Lenke til kommentar
vidarlo Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 (endret) 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 20. juni 2007 av vidarlo Lenke til kommentar
Ståle Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 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
vidarlo Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 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
Ståle Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 Kommentarene er vel sa viktig som det som star om funksjonen. Bare sann at det er sagt. Lenke til kommentar
Gjest Slettet+142 Skrevet 20. juni 2007 Del Skrevet 20. juni 2007 (endret) 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 20. juni 2007 av Slettet+142 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå