.i have the following code:
session_start();
$host = \'localhost\';
$user = \'root\';
$pw = \'\';
$db = \'pmdb\';
mysql_connect($host,$user,$pw);
mys
Many of these answers seem to be overlooking the fact that, each time you send a request to the server, you are generating a brand randomised list of questions, and then selecting 5 of those, based on your current page.
This means that you may get repeated questions and means that you can't go back and forth up the list, i.e. it's not pagination, it's just 5 random questions each time.
One way to deal with this is to generate a randomized array of numbers that correspond to the key field of the question
table. This is then stored in a persistent manner on the server and associated with a key that is passed back to the client (the session ID, perhaps).
Then, when the user accesses a page, the session ID comes in; this is used to identify the randomized array; the $page_num
is used as an index into the array:
$question_ids = array_slice($randomized_array, ($page_num - 1)*5, 5);
Next, you'd grab your questions using:
$ids_for_query = array_map('mysql_real_escape_string', array_values($question_ids));
mysql_query("SELECT * FROM questions WHERE id IN (".implode(',', $ids_for_query ).")");