Bonjour à tous et bonne année !
Je suis en train de travailler sur une base de questions/réponses pour un formulaire d'inscription.
J'ai deux tables qui ont la structure suivante :
La table QUESTION contient les 71 questions à poser au visiteur.
La table DETAILS contient les reponses du visiteur
Table QUESTION :
- QID (PK)
- Question (Contient la question à poser)
Table DETAILS :
- DID (PK)
- QUESTION_QID (FK, pointe sur QUESTION.QID)
- VISITEUR_PID (FK, pointe sur VISITEUR.PID, c'est l'id du compte connecté)
- Reponse
Voila le principe, je cherche à récupérer un tableau en php contenant les QID des questions qui n'ont pas été posé à l'utilisateur, j'ai donc écris la requête suivante :
Code :
- "SELECT question.QID,question.QUESTION FROM question,details WHERE details.VISITEUR_PID = '1' AND details.QUESTION_QID != question.QID"
|
Je l'ai testé en insérant un enregistrement de test dans DETAILS, avec QUESTION_QID = 1, la requête fonctionne, le problème survient lorsque l'on ajoute plusieurs entrées dans DETAILS, en effet, dès qu'on a deux enregistrements, la requête retourne tout les QID, parfois il y a même plusieurs copies du même QID.
J'ai du mal à comprendre d'ou vient le problème vu que ma requete me parait logique, donc je me tourne un peu vers vours au cas ou
Je précise que toutes les tables sont en InnoDB.
Quelqu'un voit il une erreur dans mon raisonnement ?