0

I'm creating a way that a "teacher" could make an exam and the "student" can take an exam.

First off, it is also possible for a teacher to make new questions, using this query:

INSERT INTO questions (question, type) VALUES ('$question', '$type')

In the database, I set questions to also have question_id which is auto incremented after each entry. Then on a separate page, they can pick which questions they would like to add to the exam. So I just:

SELECT * FROM questions

Then there is a checkbox for them to check which questions to add the use this query:

INSERT INTO exams (question_id) VALUES ('$question_id')

The table exams also has an auto incremented exam_id. So now I would like to display the questions the teacher picked, but I don't even know what type I should store question_id in exams (right now it is INT) so I can loop through them.

ie. Teacher picks questions 1,2,4,10 and query for getting the question would look like

SELECT question FROM questions WHERE question_id='1,2,4,10'
2
  • First off, it is also possible... Anything is possible. Did you have a specific question? Commented Apr 19, 2016 at 19:42
  • Since you're just starting to learn how to query against a database, please please please, learn how to use parameterized queries. Commented Apr 19, 2016 at 19:51

1 Answer 1

1

Assuming you are getting the question id by POST or GET, Try this:

$selected = implode(',', $_REQUEST['selectedquestionids']);

SELECT question FROM questions 
       WHERE question_id IN ($selected)
       GROUP BY question_id;

Hope this may help.

Sign up to request clarification or add additional context in comments.

2 Comments

But how do I convert from the VARCHAR "1,2,4,10" that is stored into exams to individual integers? or should I just have one table for each exam made?
You can store the question id as integer in questions table. The query will match the supplied ids.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.