SEVEUR DE QCM ASPACCESS Par Hichem GUERROUI Et

  • Slides: 24
Download presentation
SEVEUR DE QCM (ASP+ACCESS) Par Hichem GUERROUI Et Hakki AVSAR

SEVEUR DE QCM (ASP+ACCESS) Par Hichem GUERROUI Et Hakki AVSAR

PLAN I. III. Partie Access Partie ASP Démonstration

PLAN I. III. Partie Access Partie ASP Démonstration

Partie Access I. II. Présentation de la base de donnée Exploitation de la base

Partie Access I. II. Présentation de la base de donnée Exploitation de la base

Présentation de la base (qcmdb 1. mdb)

Présentation de la base (qcmdb 1. mdb)

Présentation de la base n n 6 Tables structurées en 2 parties Ø Structure

Présentation de la base n n 6 Tables structurées en 2 parties Ø Structure d’un Quiz (4 Tables) Ø Gestion des étudiants et des notes (2 Tables) Pas de lien entre les Tables STAT et QUIZS Ø Suppression d’un Quiz sans supprimer les notes correspondantes

Structure d’un Quiz n n Un Quiz est composé de questions et de réponses

Structure d’un Quiz n n Un Quiz est composé de questions et de réponses Ø les tables QUESTIONS REPONSES Une question peut paraître dans plusieurs Quizs Ø L’association ENSEMBLE Ø Gestion d’une bibliothèque de questions

Exploitation de la base (qcmprg. mdb)

Exploitation de la base (qcmprg. mdb)

Pour plus de précision, voir le programme qcmprg

Pour plus de précision, voir le programme qcmprg

Partie ASP I. III. IV. V. Page de présentation (HTML) Accueil Le QUIZ Résultats

Partie ASP I. III. IV. V. Page de présentation (HTML) Accueil Le QUIZ Résultats Enregistrement dans la base de donnée

Page de présentation (Défault. htm)

Page de présentation (Défault. htm)

Page de présentation n n Invitation à entrer le nom et le prénom de

Page de présentation n n Invitation à entrer le nom et le prénom de l’étudiant en respectant la syntaxe Majuscules et minuscules ne sont pas importantes

Après Action sur le bouton envoyer n n n Envoi du champ Nom à

Après Action sur le bouton envoyer n n n Envoi du champ Nom à la page suivante Sur cette page, une série de Test : Ø Re-direction vers Default. htm si le champ Nom est vide Après Interrogation de la base de données: Ø Re-direction vers Default. htm si l’utilisateur n’est pas dans la base

Page d’accueil (Welcome. asp) Affichage du Nom de l’utilisateur Affichage des notes concernant L’utilisateur

Page d’accueil (Welcome. asp) Affichage du Nom de l’utilisateur Affichage des notes concernant L’utilisateur Affichage des Quizs déjà effectués (Seulement les Quizs présents dans la liste déroulante)

Page d’accueil (Welcome. asp) Cas ou l’utilisateur n’a jamais répondu à un Quiz <select

Page d’accueil (Welcome. asp) Cas ou l’utilisateur n’a jamais répondu à un Quiz <select name="quiz_num"> <% Do While Not RS 2. EOF %> <option value="<%=RS 2("quiz_num")%>"> <%=RS 2("quiz_nom")%> </option> <%RS 2. Move. Next Loop%> Liste déroulante contenant les Quizs proposés Champs envoyés: N°ETUDIANT N°QCM

Le QUIZ (quiz. asp) Nom du quiz Nb de questions Boucle pour les Questions

Le QUIZ (quiz. asp) Nom du quiz Nb de questions Boucle pour les Questions Boucle pour les réponses

Le QUIZ (Code ASP questions & réponses) <%i=1%> <% Do While Not RS. EOF

Le QUIZ (Code ASP questions & réponses) <%i=1%> <% Do While Not RS. EOF %>. . . <%quest_num = UCase(RS("quest_num"))%> <b><font size="4"><%=i%>_ <%= UCase(RS("quest_txt"))%> </font></b>. . . <% Do While Not RS 2. EOF %> <%rep_num = UCase(RS 2("rep_num"))%> <INPUT type=radio value= <%=rep_num%> name=<%=i%>> <%= UCase(RS 2("rep_txt"))%> <%RS 2. Move. Next Loop%> <%i=i+1%>. . . <%RS. Move. Next Loop%>

Le QUIZ n La page Quiz. asp envoi comme informations: Ø Ø N°QCM +

Le QUIZ n La page Quiz. asp envoi comme informations: Ø Ø N°QCM + N°Étudiant N° des Réponses

Le QUIZ (envoi du formulaire) Création d’une seconde boucle question avec des champs cachés

Le QUIZ (envoi du formulaire) Création d’une seconde boucle question avec des champs cachés contenant la valeur « 0 » Rep= Request. Form(i) Récupération des numéros de réponses en utilisant le numéro de champ Cette boucle va forcer l’utilisateur à répondre à toutes les questions

Le QUIZ (Boucle de re-direction) <%z=0%> <% Do While Not RS. EOF %> <input

Le QUIZ (Boucle de re-direction) <%z=0%> <% Do While Not RS. EOF %> <input type="hidden" name="bob<%=z%>" value=0><%z=z+1%> <%RS. Move. Next Loop%>

Page de Réponses (reponses. asp) Reprise des questions et des réponses sélectionnées Bilan du

Page de Réponses (reponses. asp) Reprise des questions et des réponses sélectionnées Bilan du quiz Réponses du serveur

Test des Réponses Récupération <% Do While Not RS. EOF %> des champs <b><%=i%>_

Test des Réponses Récupération <% Do While Not RS. EOF %> des champs <b><%=i%>_ <%=UCase(RS("Quest_txt"))%> </b> réponses <%bob=Request. Form(j) If bob=0 then Response. Redirect("avertissement. asp? quiz_num="&quiz_num&"&etud_num="&etud_num&"") end if%>. . . Test si le champ de la réponse est nul Vous avez répondu : … <%=UCase(RS 2("rep_txt"))%> … … <% If reponse = "VRAI" Then k=k+1 End If %>. . . <%RS. Move. Next Loop%> Comptage des points Envoi des champs à la page suivante: N° QCM N° ETUDIANT NOTE sur 20

Page de Résultats (fini. asp) Page contenant l’ instruction INSERT TO pour écrire dans

Page de Résultats (fini. asp) Page contenant l’ instruction INSERT TO pour écrire dans la base de données

FIN

FIN

Test du système et conclusion n Le système comporte néanmoins certains défauts: Ø Ø

Test du système et conclusion n Le système comporte néanmoins certains défauts: Ø Ø Ø Possibilité de revenir sur la page quiz afin de modifier les réponses (solution : ouvrir une seconde fenêtre sans barre de tache) Le classement des étudiants n’ est pas numéroté Les moyennes affichées sur les pages ASP présentent trop de chiffres après la virgule