IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP Discussion :

Unordered list , test et condition d'arret


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Par défaut Unordered list , test et condition d'arret
    Salut tout le monde ,

    Je genere une liste en asp tirés d'une base de données sur 4 niveaux , lorsque je regarde le code source ill me rajoute des tag <ul></ul> la ou il ne devrait pas , il s'agit des conditions qui sont mauvaises mais la je seche . Le but de cette fonction est ce creer un sommaire.

    J'ai donc creer 4 recordset et fait des response.write... je vais vous montrer un peu de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
    '#####################'
    '#### 1 er niveau ####'
    '#####################'
     
    if not rs.eof then 
            response.write("<ul class='arbre'>")
                do while not rs.eof 
                    response.write("<li><strong>" & rs(0) & "</strong>")  
     
    '#####################'
    '#### 2eme niveau ####'
    '#####################'
    if not subrs.eof then 
                                response.write("<ul>")
                                do while not subrs.eof 
                                    response.write("<li>" & subrs(0))
     
    '#####################'
    '#### 3eme niveau ####'
    '#####################'
            if not ssection.eof  then 
                                            response.write("<ul>")
                                            do while not ssection.eof 
                                                response.write("<li>" & ssection(0) )
     
     
     
    '#####################'
    '#### 4eme niveau ####'
    '#####################'
     
    if not subsection.eof then 
     
                                                    do while not subsection.eof 
                                                    if subsection(0) <> "" then
                                                        response.write("<li>"& subsection(0)  & "</li>")   
    end if        
     
    '### Loop et fermeture recordset
     
                                                    subsection.movenext                         
                                                    Loop 
                                                    'if not subsection.eof then
                                                    response.write("</ul>")
                                                    'end if
                                                end if
                                            subsection.close                                        
                                            set subsection = nothing    
     
     
                                ssection.movenext
                                loop
                                response.write("</ul>")
                            end if
                        ssection.close
                        set ssection = nothing
     
                    subrs.movenext 
                    loop
                    response.write("</ul>")
                end if
            subrs.close
            set subrs = nothing
     
        rs.movenext                                                 
        Loop
        response.write("</ul></li>")
    end if        
    rs.close
    set rs = nothing
    end sub

    Je vous ai epargné les requetes et autres
    Un exemple :


    A] toto
    A.1]titi
    A.1.1]
    la c'est pas bon il me rajoute une balise <ul></ul>

    A.2]
    A.2.1]
    A.2.1.2] La c ok


    je sais que la condition monrecordest.eof n'est pas parfaite alors des fois il faut aussi testermonrecordset(0) <> "" enfin la c'est plutot un probleme d'algo qu'un probleme asp mais j'ai plus trop d'idées

    Merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Par défaut
    Dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    '#####################'
    '#### 4eme niveau ####'
    '#####################'
     
    if not subsection.eof then 
     
                                                    do while not subsection.eof 
                                                    if subsection(0) <> "" then
                                                        response.write("<li>"& subsection(0)  & "</li>")   
    end if        
     
    '### Loop et fermeture recordset
     
                                                    subsection.movenext                         
                                                    Loop 
                                                    'if not subsection.eof then
                                                    response.write("</ul>")
                                                    'end if
                                                end if
                                            subsection.close                                        
                                            set subsection = nothing
    Tu ferme une balise Ul mais je pense qu il ne faut pas la fermer a ce niveau.
    Sauf si tu veux creer un nouveau numero mais alors tu auras beoin de l ouvrir egalement (ce qui n est pas le cas ici) comme tu l'as fais dans les autres etapes.

  3. #3
    Membre éclairé Avatar de NeHuS
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 343
    Par défaut
    Salut fablondon ,

    merci pour ta réponse , le probleme ne se situait pas la , comme je l'ai dit dans mon message initiale c'est dans les tests avec le eof qui agit "bizarement" , et j'ai trouvé !

    il suffisait de faire ça pour les tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
        if not ssection.eof  and ssection(0) <> "" then
    aussi simple que ça :s

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. remplir une liste avec une condition
    Par romika dans le forum Access
    Réponses: 4
    Dernier message: 24/01/2007, 10h44
  2. structure d un test de condition avec ?
    Par *alexandre* dans le forum Langage
    Réponses: 4
    Dernier message: 11/12/2006, 11h56
  3. Faire un while avec condition d'arrêt une durée
    Par schumi101 dans le forum Linux
    Réponses: 3
    Dernier message: 16/06/2006, 13h31
  4. Parcours de fichiers et condition d'arrêt
    Par DaXou45 dans le forum Langage
    Réponses: 1
    Dernier message: 17/05/2006, 11h32
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 12h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo