Gå til innhold

Random text fra en mysql database?


Anbefalte innlegg

Hei..

 

Sikkert veldig enkelt, men har noen lyst å hjelpe meg med en liten ting her? :)

 

Jeg tenker å legge inn litt forskjellige "Quotes" inn i en MYSQL database, og så få PHP til å velge ett tilfeldig av dem?

 

Databasen består av, ID og Text..

 

Anyone?

 

/Yaricks :)

Lenke til kommentar
Videoannonse
Annonse
SELECT * FROM quotes ORDER BY RAND() LIMIT 1

 

Utestet

9166915[/snapback]

 

Kan være kjekt å lese igjennom før man bruker denne løsningen: Fast Random Results - "ORDER BY RAND()" is bad

 

Seems simple enough. And it works just fine, as long as your table isn't too large. But, it doesn't scale well, either in terms of table size or number of users hitting the system at the same time.

 

For tabeller med få rader er det en grei løsning, men blir veldig ressurskrevende når tabellene vokser. I dette tilfellet så går det sikkert greit, men ville bare nevne det.

Lenke til kommentar

Også noe å tenke over, hentet fra linken over:

When I take those 3 steps back and look at the problem, I see that the solution is the domain itself. What we have all forgot is that the web is a random environment. We see so many folk trying to use this RAND() thing for good reasons on their websites because they want to display random advertising banners, random users, random messages, etc. What we all forget is a) Random does not mean unique, but more importantly b) it is the users who are already random.

 

The solution to displaying random events to individual users is already taken care of by their random page hits. All you need to do is to cycle sequentially through your items and that is a simple algorithm with easy optimisation.

 

Those cases where RAND() is a necessary and applicable solution are complex apps like MRP/JIT, BI, Risk Analysis/Financial Modelling, Market Research, Scientific Analysis, etc: domains where complex and powerful analysis is involved and performance is secondary to results. When I worked in market research we did not mind if a report took 20 mins to process - just go to lunch, or run it overnight.

På sett å vis så er vel egentlig ikke rand() nødvendig for å få ønsket effekt. Bare gå til neste quote for hver gang siden lastes.

Endret av crowly
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...