ouais, j'ai deux query string différents avec deux paramètres qui récupèrent leurs valeurs. Une querystring est le numéro d'identifiant du mec qui se connecte, l'autre est le numéro d'enregistrements jusqu'où on a affiché, heu, suis-je clair?
pour info, et ce sera plus clair, voilà le code entier:
<%@ Language=VBScript %>
<%
'numCandidat=Session("idnum" )
numCandidat= request.queryString("num" ) 'on récupère l'identité
ConnectionString="qcm_admin_test"
public dbArticle
public rsArticleEtudiant
public rsArticleGenerale
Set dbArticle=Server.CreateObject("ADODB.Connection" )
Set rsArticleEtudiant=Server.CreateObject("ADODB.Recordset" )
'Set rsArticleGenerale=Server.CreateObject("ADODB.Recordset" )
'en tête de la page html
Response.write("<html><head><title>Historique de vos scores</title>" )
Response.write("<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1></head>" )
Response.write("<body bgcolor=#FFFFFF text=#000000>" )
dim ReqMoyenneEtudiant,ReqMoyenneGenerale
dim Questionnaire, CodeChapitre, MoyenneEtudiant, MoyenneGenerale
Questionnaire=0
CodeChapitre=0
ReqMoyenneEtudiant= " SELECT Avg(Score.Valeur) AS MoyenneDeValeur, Score.CodeChapitre, Score.NumQuestionnaire, Candidat.NomEtudiant, Candidat.PrenomEtudiant"& _
" FROM Question, Candidat INNER JOIN ((Chapitre INNER JOIN Questionnaire ON (Chapitre.CodeLangue = Questionnaire.CodeLangue) AND (Chapitre.CodeChapitre = Questionnaire.CodeChapitre)) INNER JOIN Score ON (Questionnaire.CodeLangue = Score.CodeLangue) AND (Questionnaire.CodeChapitre = Score.CodeChapitre) AND (Questionnaire.NumQuestionnaire = Score.NumQuestionnaire)) ON Candidat.NumCandidat = Score.NumCandidat"& _
" GROUP BY Score.CodeChapitre, Score.NumQuestionnaire, Score.NumCandidat, Candidat.NomEtudiant, Candidat.PrenomEtudiant"& _
" HAVING (((Score.NumCandidat)=" & numCandidat & " ))"& _
" ORDER BY Score.CodeChapitre, Score.NumQuestionnaire;"
'requête qui donne la moyenne du candidat pour chaque questionnaire répondu
dbArticle.Open(ConnectionString)
rsArticleEtudiant.Open ReqMoyenneEtudiant, dbArticle, 3
nbLignesEtudiant=rsArticleEtudiant.RecordCount
If nbLignesEtudiant=0 then ' si pas d'enregistrement on affiche l'erreur
Response.write("<TABLE width='100%' border=1 cellspacing=0 cellpadding=1>" )
Response.write("<TR><TD> </TD></TR>" )
Response.write("<TR><TD align=center><p class=titreStat><b>VOUS AVEZ AUCUN RESULTAT ENREGISTRE</b></p></TD></TR>" )
Response.write("<TR><TD> </TD></TR>" )
Response.write("</table>" )
rsArticleEtudiant.Close
Set rsArticleEtudiant=Nothing
Set dbArticle=Nothing
Else
nomEtudiant=rsArticleEtudiant("NomEtudiant" )
prenomEtudiant=rsArticleEtudiant("PrenomEtudiant" )
Response.write("<table width='50%' border='1' cellspacing='0' cellpadding='1' align='center' bordercolor=#000000 height='30'><tr><td width='100%'><div align='center'><font size='+2'><br><b>Résultats de " & prenomEtudiant &" " & nomEtudiant & "<br></p></b></div></td></tr></table>" )
Response.write("<TABLE width='100%' border=1 cellspacing=0 cellpadding=1 bordercolor=#000000>" )
Response.write("<p><font size='4'><b>Chapitre: " & rsArticleEtudiant("CodeChapitre" ) & "</b></p>" )
CodeChapitre=rsArticleEtudiant("CodeChapitre" )
compteloop=0 ' pour le cas du premier affichage de la ligne Questionnaire:, votre moyenne, etc...
NMax=10
Ndeb = 0
if request.queryString("compteur" )<>"" then
Ndeb = Cint(request.queryString("compteur" ))
End If
Do while not rsArticleEtudiant.EOF and compteloop<NMax+Ndeb
if compteloop >= Ndeb then
compteloop=compteloop + 1
Questionnaire=rsArticleEtudiant("NumQuestionnaire" )
'ReqMoyenneGenerale= " SELECT Avg(Score.Valeur) AS MoyenneDeValeur, Score.CodeChapitre, Score.NumQuestionnaire"& _
'" FROM Score"& _
'" GROUP BY Score.CodeChapitre, Score.NumQuestionnaire"& _
'" HAVING (((Score.CodeChapitre)='"&CodeChapitre&"' AND ((Score.NumQuestionnaire)="&Questionnaire&" ))"& _
'" ORDER BY Score.CodeChapitre, Score.NumQuestionnaire;"
'rsArticleGenerale.Open ReqMoyenneGenerale, dbArticle, 3
MoyenneEtudiant=rsArticleEtudiant("MoyenneDeValeur" )
'MoyenneGenerale=rsArticleGenerale("MoyenneDeValeur" )
if CodeChapitre=rsArticleEtudiant("CodeChapitre" ) then
if compteloop=1 then
Response.write("<tr><td width='33%' bgcolor=#00CCFF ><div align=center>Questionnaire: </div></td><td width='33%' bgcolor=#00CCFF ><div align=center>Votre Moyenne: </div></td><td width='33%' bgcolor=#00CCFF ><div align=center>Moyenne Générale: </div></td></tr>" )
End if
Response.write("<tr><td width='33%'><div align=center>" & Questionnaire & "</div></td><td width='33%'><div align=center>" & MoyenneEtudiant & "</div></td><td width='33%'><div align=center>""</div></td></tr>" )' & MoyenneGenerale &
Else
Response.write("</table><br><br>" )
CodeChapitre=rsArticleEtudiant("CodeChapitre" )
Response.write("<p><font size='4'><b>Chapitre: " & rsArticleEtudiant("CodeChapitre" ) & "<br><br></b>" )
Response.write("<TABLE width='100%' border=1 cellspacing=0 cellpadding=1 bordercolor=#000000>" )
Response.write("<tr><td width='33%' bgcolor=#00CCFF ><div align=center>Questionnaire: </div></td><td width='33%' bgcolor=#00CCFF><div align=center>Votre Moyenne: </div></td><td width='33%' bgcolor=#00CCFF><div align=center>Moyenne Générale: </div></td></tr>" )
Response.write("<tr><td width='33%'><div align=center>" & Questionnaire & "</div></td><td width='33%'><div align=center>" & MoyenneEtudiant & "</div></td><td width='33%'><div align=center>""</div></td></tr>" )' & MoyenneGenerale &
End If
End If
rsArticleEtudiant.MoveNext
'rsArticleGenerale.Close
Loop
Response.write("</table>" )
End If
%>
<% ' Navigation
' Des fiches avant ?
if Ndeb > 0 then%>
<td>
<A href="?num=<%=numCandidat%>?compteur=<%=Ndeb-Nmax%>">Retour</A>
</td>
<%end if
' Des fiches après ?
if not rsArticleEtudiant.eof then%>
<td>
<A href="?num=<%=numCandidat%>?compteur=<%=compteloop%>">Suite</A>
</td>
<%end if%>
<%rsArticleEtudiant.Close
dbArticle.Close
Set rsArticleEtudiant=Nothing
'Set rsArticleGenerale=Nothing
Set dbArticle=Nothing
Response.write("</table>" )
Response.write("</TABLE></body></html>" )
%>
mais maintenant j'essais une autre manière mais je sens que je vais galérer quand même...