I have a quiz set up: Quiz of People.
- It is tied to a google sheet "Q w Adjusted Cells", which has a random number column.
- I have a custom page set up “Quiz w Adjusted Cells”.
- On this page, there are 3 Components: Text: Q1; Check: Button; Next: Button.
- Q1: Pulls from the sheet Q1.
- Check: Shows the answer A1.
- I want Next to go to Q2 and then Check to go to A2… but randomized.
- I have set up the google sheet to have the questions as I want them in Q1, Q2, Q3, etc. and the answers the way I want them in A1, A2, A3.
All I want the Next button to do is to randomly select a Q# cell and then have the Check button show the corresponding A#.
I’ve included the random column to help do this; we can also do it another way.
I would structure the data like this.
Questions Table
QID |
Question |
Answer |
Q001 |
Who painted the Mona Lisa? |
Leonardo da Vinci |
Q002 |
What is the capital of France? |
Paris |
Q003 |
What is 2 + 2? |
4 |
Users Table
UID |
Name |
CurrentQID |
U001 |
Alice |
Q002 |
U002 |
Bob |
Q001 |
Then:
- Add a Query column to the Users table, Query the Questions table where QID is not current row’s CurrentQID.
- Add a Single Value column, set it to return a random QID from the Query. I’ll call this “Random QID” from now on.
On the front end:
- Add a screen built on top of the Users table, filter to UID is signed-in user’s UID.
- Add a “Start Quiz” button and show it when Current QID is empty.
- The “Start Quiz” button would set “Random QID” to “Current QID”.
- Add a custom collection pointing to the Questions table, filter by “QID” is “Signed-in user > Current QID”. Make sure there’s no action on the collection level (it defaults to show details screen).
- Add this to the custom collection: Question text, a field pointing to a user-specific column for the user to write/choose the answer, and a button to show if the answer is correct (please do your own validation here, and visibility conditions accordingly before/after the user clicks the Check button).
- Outside of the custom collection, add a “Next” button, which would do the same thing as the “Start Quiz” button, but only visible when “Current QID” is not empty.
- You might also want to log a list of questions the user has answered and build it into the Query so that the user won’t be shown duplicated questions.
1 Like