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?