Jump to content

Random questions from mysql


marcus88

Recommended Posts

Hello I am currently designing a web site for an on-line test with php and Mysql using apache server. I have to randomly pick questions from Mysql database via the server too displays on the main viewing screen. I would be grateful if you could point me in the right direction. Hope this makes sense because its starting to get me confuse I have just designed the main screen which generates the password with username.

 

Thanks

 

 

:?

Link to comment
Share on other sites

I assume you have all questions stored in tables already.

 

For a random question select, do this query first:

 

SELECT MIN(id), MAX(id) FROM your_question_table 

 

I assume the ID is autoincremental, with no deleted records.

 

Then you have the minimum and maximum ID\'s. Use them for this:

 

srand((double)microtime()*1000000); 

$random_number = rand(0,100);

 

where 0 is your minimum and 100 your maximum...

Now select your random question:

 

SELECT question FROM your_question_table WHERE id = \'$random_number\'

 

There are many sources online on random strings and numbers, just search in google...

Link to comment
Share on other sites

Thanks

 

I’m having a problem with my database I’m not to sure how many fields to put I have a main screen for the users to view and there will have a choice of four questions to chose from with one being the right answer. Will I have to create four separate fields with 4 wrong answers and one right and how will it no to generate the correct answer? That’s the problem I’m having its driving my mad.

 

:oops:

Link to comment
Share on other sites

I think you mixed up some words like qestion and answer but let me try.

 

You only need to store the right answer.

 

I take it you use a drop down select option list , so all answers have a value. To see whether it was the right answer do this:

 

$query = "SELECT COUNT(*) FROM your_table WHERE correct_answer_field = $visitors_answer";

$result = mysql_query($query);

if(mysql_num_rows($result) < 1)

{

   echo\'they were wrong\';

}

else

{

  echo\'they guessed it right\';

}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.