Random order every 2 hours?

Hi;

I need to make the query results to be sorted randomly every 2 hours. For example for now until next 2 hours show one set of results (any set of ids,, for example 1,5,7,2,9,...), after 2 hours show another set of results (11, 64 ,22,9236).
How can I do that?

Now there is a new thing (related) I want to learn and I am not sure whats the best approach! I want to make sure all the results get seen. Like a loop. So at first, show 8 out of total. Then show the second 8, next hour show the 3rd eight and so on and so far.

Have a cronjob running every two hours (=however often the results change). Inside it inspects a table that's dedicated to this particular feature of the site:
1. If the table has <=16 (=2 * number per page) rows then do an INSERT... SELECT with a brand new set of randomized results. Don't need to do any seeding - just a regular SELECT... ORDER BY RAND().
2. Regardless of that, delete the top 8 results.

Then the script you have simply does a SELECT... LIMIT 8. The table should be just the bare minimums of course; you probably wouldn't need anything more than the IDs stored in it.

The key point is making sure you have >=8 results in the table at all times. Even while the cronjob is in the middle of running, don't let the table ever go below 8 results.