Niet gestelde vragen per gebruiker tonen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tom Beuckelaere

Tom Beuckelaere

14/02/2007 15:39:00
Quote Anchor link
Hallo,

Ik ben momenteel bezig met het maken van een klein wedstrijd systeempje.
Een gebruiker kan inloggen en dan krijgt hij per dag 5 vragen + 1 schriftingsvraag. Er worden enkel vragen getoond die hij nog nooit heeft gehad, idd met de schiftingsvragen en je kunt maar 1 keer een reeks van 5 vragen + 1 schiftingsvraag per dag oplossen. De vragen (id's) die al getoond zijn, worden met een user id in een apparte tabel gestopt.

Hoe kan ik nu het snelst controleren voor in men mysql query dat hij enkel 5 random vragen mag nemen zonder dat er ééntje in zit die DIE bepaalde gebruiker al heeft gehad? Dus bv. de vragentabel bevat 120 vragen, de andere tabel zegt dat gebruiker a al 60 vragen heeft gehad. Dus het script kiest 5 willekeurige vragen voor die gebruiker, en neemt er geen enkel van die 60 die hij al heeft gehad.

Thx voor de hulp

Deze query haalt 5 willerkeurige vragen uit de ene tabel

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_query('SELECT * FROM vragen WHERE ORDER BY RAND() LIMIT ' . $aantal_vragen);
 
PHP hulp

PHP hulp

28/03/2024 17:35:36
 
Joren de Wit

Joren de Wit

14/02/2007 16:03:00
Quote Anchor link
Stel je hebt de tabel 'vragen' waarin de vragen staan en de tabel 'antwoorden' waarin je het antwoord in combinatie met een user_id en vraag_id opslaat:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
SELECT
    vraag
FROM
    vragen
WHERE
    vraag_id NOT IN (
        SELECT vraag_id
        FROM antwoorden
        WHERE user_id = 1
        )
ORDER BY RAND()
LIMIT 5
 
Tom Beuckelaere

Tom Beuckelaere

14/02/2007 16:06:00
Quote Anchor link
Wow, ik heb dit nog niet getest: maar mijn verbazing dat je dus een sql instructie gebruikt in een sql instructie.

Zo heb ik iets ergs interessant bijgeleerd :D
 
Tom Beuckelaere

Tom Beuckelaere

14/02/2007 16:15:00
Quote Anchor link
Ja werkt prima, bedankt voor de hulp, ik heb ondertussen bijgeleerd dat je een sql in een sql kunt gebruiken, en vooral de NOT IN functie is erg handig.

Nog eens bedankt.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.