Conditions if imbriquées??? [ASP] - ASP - Programmation
Marsh Posté le 22-01-2003 à 14:18:20
C plutot
do while not ors.eof
if (qqch) then
if (qqch) then
else
end if
if (qqch) then
end if
end if
rs.movenext
loop
Marsh Posté le 22-01-2003 à 14:45:30
pourquoi pas de elseif?
j'en ai besoin pour déterminer une string par rapport à un champ de ma base.
ca serait cela qui fiche la mirde?
Marsh Posté le 22-01-2003 à 15:02:48
j'en profite pour exposer mon problème en entier, après plus d'une heure de test dans tous les sens, + demande d'aide, rien a faire.
voici donc la structure de mon code:
<% if Request.QueryString("affiche" ) = "" then
affiche = 22
else
affiche = Request.QueryString("affiche" )
end if
response.write "<a href=xxx.asp?affiche=" & affiche+21 & ">suivants</a>"
Ci-dessus, on récupère une variable dans l'url + proposition de lien
set oConnection = Server.CreateObject("ADODB.Connection" )
oConnection.Open "xxx" %>
<% Set oRs = oConnection.Execute ("SELECT xxx FROM t_xxx order by xxx desc" )
i = 1
j = 1
Response.Write "<table width=100% border=0><tr>"
oRs.MoveFirst
do while not oRs.EOF
if (j >= affiche) and (j < (affiche+21)) then
points = oRs("points" )
'par une série de if, elseif, on détermine une string différente selon le nbre de points
if i = 8 then
Response.Write "</tr><tr>"
i = 1
end if
Response.Write 'Affichage des éléments voulus
i = i + 1
end if
j = j + 1
oRs.movenext
loop
Response.Write "</tr></table>"
oRs.close
Set oRs = Nothing
oConnection.Close
%>
le résultats que je trouve est que lorsque la variable Affiche est nulle, donc remplacée par 22, tout fonctionne. c'est lorsque la variable prend la valeur de Request.Querystring que ca bugge. Pourtant, en l'affichant, elle est correcte.
Je suis sure que le problème est très crétin, mais je ne sais plus quoi faire et je pète un plomb
Marsh Posté le 23-01-2003 à 17:04:06
quand tu dis que ca bugg, c'est que ca affiche une erreur ou bien que le resultat n'est pas celui que tu espèrerais ?
Marsh Posté le 24-01-2003 à 08:14:45
en fait quand ca bugue, il n'affiche rien, au lieu de m'afficher les enregistrement "affiche" à "affiche+21"
Marsh Posté le 24-01-2003 à 09:38:51
Urd-sama a écrit : en fait quand ca bugue, il n'affiche rien, au lieu de m'afficher les enregistrement "affiche" à "affiche+21" |
ajoute des response.write "test1","test2",.. après chaques if pour débugger ta boucle...je pense qu'il doit y avoir un prob là-bas.
Marsh Posté le 24-01-2003 à 10:16:33
j'ai changé ma facon de faire.
au lieu de passer le prochain enregistrement à afficher (à savoir "affiche" ), j'ai envoyé le numéro de la page.
ensuite, je calcule le premier enregistrement à afficher par un calcul barbare:
if Request.QueryString("page" ) = "" then
affiche = 1
else
affiche = ((Request.QueryString("page" ) - 1) * 21)+1
end if
et de cette facon là, comme par magie, ca fonctionne
Marsh Posté le 22-01-2003 à 13:43:10
je suis en train de sécher grave sur un script asp, et je recherche activement mon erreur.
Et soudain j'ai un grand doute. Mon script est sur la base suivante:
do while not ors.eof
if (qqch) then
if (qqch) then
elseif
elseif
end if
if (qqch) then
end if
end if
ors.movenext
loop
seraient-ce mes conditions if qui se fouttent à travers la tronche? cette syntaxe est-elle autorisée en asp?