Willekeurig aantal films van die week?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hendrik de Jager

Hendrik de Jager

12/01/2011 11:27:11
Quote Anchor link
Ik heb de volgende vraag en ik hoop dat ik het goed uitleg:

Ik heb een website met een database van +/- 300 films.
Elke film heeft ook een release week en daar heb ik een vraag over.

De database ziet als volgt:
----------------------------
|id|filmtitel|releaseweek|

Nu zou ik graag op de voorpagina van mijn website: 4 willekeurige films uit de desbetreffende release week.

Ik kan wel de huidige week pakken met : date("W")

Daarmee kan ik dus wel een film pakken, of d.m.v loop de eerste 4, maar dan is het dus altijd hetzelfe.

Hoe krijg ik nu 4 verschillende films uit de week?
Gewijzigd op 12/01/2011 11:27:34 door Hendrik de Jager
 
PHP hulp

PHP hulp

22/11/2024 04:02:29
 
- Mark -

- Mark -

12/01/2011 11:46:15
Quote Anchor link
SELECT column FROM table
ORDER BY RAND()
LIMIT 4
 
Terence Hersbach

Terence Hersbach

12/01/2011 11:51:49
Quote Anchor link
Let op dat ORDER BY RAND() enorm traag is. Je kan dan nog beter alles van die week ophalen, die shuffelen dmv array_shuffle oid, en dan de eerste 4 weergeven.

Nog beter is het om niet de array_* functies daarvoor te gebruiken.
 
Kris Peeters

Kris Peeters

12/01/2011 13:02:16
Quote Anchor link
Terence Hersbach op 12/01/2011 11:51:49:
Let op dat ORDER BY RAND() enorm traag is....


Wanneer zou dat eigenlijk spelen?

Ik veronderstel dat eerst de WHERE wordt bekeken. Dat filtert al heel veel weg (alles wat niet in de week valt).

Dan pas, met de overgebleven records, zou die ORDER beginnen werken. Die traagheid zou dus maar een probleem zijn voor vrij weinig records.

Of maak ik hier een redeneringsfout? Ik ken niet te veel van de interne werking van mySQL.
 
Hendrik de Jager

Hendrik de Jager

12/01/2011 14:15:46
Quote Anchor link
heb het aan de gang met Rand(), bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.