[RESOLU] Vérifier qu'un enregistrement n'existe pas dans une table donnée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Vérifier qu'un enregistrement n'existe pas dans une table donnée

Re: Vérifier qu'un enregistrement n'existe pas dans une table donnée

par ricou89 » 05 nov. 2018, 07:14

Cool, merci

Re: Vérifier qu'un enregistrement n'existe pas dans une table donnée

par Patriboom » 05 nov. 2018, 07:11

Alors, la solution de Saian est aussi ce que j'aurais proposé, une recheche par NOT IN (leçons faites)

Re: Vérifier qu'un enregistrement n'existe pas dans une table donnée

par ricou89 » 05 nov. 2018, 07:03

Merci @Saian, je vais essayer ça.

@Patriboom. J'ai en fait besoin de récupérer de nombreuses leçons non faites afin de déterminer laquelle je dois propose ensuite, en fonction de sa catégorie et en fonction du profil de l'utilisateur.

Re: Vérifier qu'un enregistrement n'existe pas dans une table donnée

par Patriboom » 31 oct. 2018, 15:33

Ne serait-il pas plus simple de chercher la dernière leçon vue afin de proposer à l'usager la leçon suivante ?

Re: Vérifier qu'un enregistrement n'existe pas dans une table donnée

par Saian » 31 oct. 2018, 12:58

Code : Tout sélectionner

SELECT data_lessons.lesson_id, data_courses.category FROM data_courses INNER JOIN data_lessons ON data_courses.course_id = data_lessons.course_id WHERE data_lessons.lesson_id NOT IN ( SELECT flw_lessons_done.lesson_id FROM flw_lessons_done WHERE flw_lessons_done.user_id = '1002' )

Vérifier qu'un enregistrement n'existe pas dans une table donnée

par ricou89 » 26 oct. 2018, 06:07

Bonjour,

Je sèche et je lance donc un petit appel à l'aide. Voici mon sujet : je fais un site d'e-learning et je cherche à proposer à l'utilisateur de faire une leçon qu'il n'a pas encore faite ou pas encore terminée.

Dans une table `lessons_done`, j'ai les colonnes `user_id` et `done`

Ce que je souhaite faire, c'est récupérer les id des leçons dans un autre table `data_lessons`
OU lessons_done.done = '0' (0=pas encore terminé et 1=terminé)
OU AUSSI il n'y a pas d'enregistrement dans `lessons_done` avec user_id = xxx et lesson_id = yyy

Et c'est là que je sèche.

Voilà ce que j'ai tenté comme code mais je ne serais pas étonné d'avoir un souci de logique.

Code : Tout sélectionner

SELECT data_lessons.lesson_id, data_courses.category FROM data_courses INNER JOIN data_lessons ON data_courses.course_id = data_lessons.course_id INNER JOIN flw_lessons_done ON data_lessons.lesson_id = flw_lessons_done.lesson_id WHERE NOT EXISTS (SELECT * FROM flw_lessons_done WHERE flw_lessons_done.user_id = '1002')