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 :

probleme de tri dynamique de tableau


Sujet :

ASP

  1. #1
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut probleme de tri dynamique de tableau
    Bonjour,

    je cherche a trier un tableau de facon dynamique, c'est a dire qu'en cliquant sur l'entete d'une colonne les donnees soient triees...

    j'ai cherche sur le web mais pas trouver ce que je cherchais...
    voici pour l'instant ce que j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     IF Request.Form("SearchBox") = "" AND Request.Form("SearchByOwner") = "" AND Request.Form("SearchByStatus") = "" THEN
      	Mysql = " SELECT Icon,Title,NumProcess,Owner,Owner2,Owner3,Status,Revision,Url,Email,LastName,FirstName,type FROM TreeV_hierarchy WHERE (id > 0)" &_
    	        " AND (Type <> 'Folder') AND (Title <> 'print' ) AND (Title <> 'Search Facility') Order By '" & Tri &"'"       Set ObjRs3 = Cxn.Execute(Mysql)
     
    	 .Write("<table>")
     
    	 .Write ("<tr>")
    	 .Write ("<td></td>")
    	 .Write ("<th id='SortByTitle'><a href='searchpage2.asp?tri=title'<b>Title </b></a></th>")
    j'etais tente de mettre egalement cela mais rien ne marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         IF SortByTitle <> "" THEN
         Mysql = Mysql & " ORDER BY Title"
         Set ObjRs3 = Cxn.Execute(Mysql)
    	 END IF
    si quelqu'un pouvait m'eclairer s'il vous plait

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Tu peux utiliser un lien hypertexte pour afficher le titre des colonnes, en passant en paramètre un code pour la colonne cliquée.
    Ce lien appelle la même page.
    Tu récupères le code avec un querystring et tu adaptes ta requête SQL en fonction de ce code.

    Si je n'ai pas été clair, tu dis.

  3. #3
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    re,

    merci pour ta reponse.

    en fait je pensais que c'etait ce que j'avais fait mais visiblement je n'ai rien compris...

    effectivement si tu pouvais me donner quelques precisions,svp.

    merci d'avance

  4. #4
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    L'idée shématisée :

    Liste.asp
    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
     
    Tri = Request.QueryString("Tri")
    select case Tri
       case "Nom"
          SqlTri = "NOM, PRENOM"
       case "Ville"
          SqlTri = "VILLE, NOM, PRENOM"
       case else
          SqlTri = "NOM, PRENOM"
    end select
     
    MySql = "select NOM, PRENOM, VILLE from MaTable order by " & SqlTri
     
    <table>
       <tr>
          <td>
             <a href="Liste.asp?Tri=Nom" title="Trier par Nom">
             NOM
             </a>
          </td>
     
          <td>
             <a href="Liste.asp?Tri=Ville" title="Trier par Ville">
             VILLE
             </a>
          </td>
       </tr>
    etc...
    C'est plus clair ?

  5. #5
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    Merci pour ta reponse !

    mais il y a comme un leger soucis, qui vient de mon code, quand je clique sur le lien il affiche bien la page mais il faut cependant appuyer sur le bouton " search" pour afficher le tableau trier

    voici mon code, si tu avais une idee :
    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
     
      IF Request( "SearchButton" ) <>"" THEN	
     
    Tri = Request.QueryString("Tri") 
    select case Tri 
     
       case "Title" 
          SqlTri = "Title" 
       case "NumProcess" 
          SqlTri = "NumProcess" 
       case "Owner" 
          SqlTri = "NumProcess"
       case "RevisionDate" 
          SqlTri = "Revision" 
       case else 
          SqlTri = "title" 
    end select 
     
     IF Request.Form("SearchBox") = "" AND Request.Form("SearchByOwner") = "" AND Request.Form("SearchByStatus") = "" THEN
      	Mysql = " SELECT Icon,Title,NumProcess,Owner,Owner2,Owner3,Status,Revision,Url,Email,LastName,FirstName,type FROM TreeV_hierarchy WHERE (id > 0)" &_
    	        " AND (Type <> 'Folder') AND (Title <> 'print' ) AND (Title <> 'Search Facility') Order By " & SqlTri
     
         Set ObjRs3 = Cxn.Execute(Mysql)
     
    	 .Write("<table>")
     
    	 .Write ("<tr>")
    	 .Write ("<td></td>")
    	 .Write ("<td><a href='searchpage2.asp?Tri=Title'<b>Title </b></a></td>")
    	 .Write ("<td><a href='searchpage2.asp?Tri=NumProcess'<b>Process Number </b></a></td>")
    	 .Write ("<td><a href='searchpage2.asp?Tri=Owner'<b>Owner </b></a></td>")
    	 .Write ("<td><a href='searchpage2.asp?Tri=Status'<b>Status </b></a></td>")
    	 .Write ("<td><a href='searchpage2.asp?Tri=RevisionDate'<b>Revision </b></a></td>")
    	 .Write ("</tr>")
    encore une fois merci

  6. #6
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Plutot que d'utiliser la commande Set ObjRs3 = Cxn.Execute(Mysql), tu devrais créer un recordset.

    Ensuite, tu boucles sur ton recordset pour afficher tes données.

  7. #7
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    Re,

    le truc en fait c que ObjRs3 est deja un recordset sur lequel je fais un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DO UNTIL ObjRs3.EOF 
    -----code affichage des donnees------
    LOOP
    et qui me sert a afficher mes donnees avant un quelconque tri.

    faut il en fait que j'en cree un deuxieme et par exemple mettre le meme code que pour le premier?

    je suis desole si c confu, mais je ne suis pas tres cale et j'ai tendance a bien galerer

  8. #8
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Heu.. en bouclant sur ton recordset, les données ne s'affichent pas dans l'ordre du "ORDER BY" ?

  9. #9
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    il est également possible des trier le tableau coté client par un script JS.
    C'est un peu compliqué, il fait connaitre le JS, et le DOM, mais ça permet de ne pas recharger la page!
    Si l'affichage n'est pas trop complexe, et la quantité de donnée modéré, cela fonctionne plutot bien.
    En revanche si la quantité de donnée est importante, cela peut prendre kk seconde.
    Je ne suis pas authorisé a te donner le code que j'ai fait, car cela appartient a mon employeur, mais si cela t'interesse, je pense qu'en posant la question sur le forum JS, tu aurras des exemple de trie de tableu coté client.

    D'autre part, dans ton exmple de code tu fait
    Tri = Request.QueryString("Tri") ()
    methode GET!
    puis un Request.Form("SearchBox")
    methode POST

    C'est normal ?????

  10. #10
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    re,

    en fait si les donnees sont triees, mais seulement pour les avoir trier suivant telle ou telle colonne, il faut cliquer sur le lien, cela ouvre une nouvelle page vide avec juste les champs de recherches ( txtbox,dropdown lists) et a partir de la, il faut appuyer de nouveau sur le bouton de recherche pour que les donnees s'affiche et ca certainement parce que dans le code c en fait si le bouton est cliquer que toute l'action se passe...

    seulement je ne sais pas comment faire pour afficher les donnees triees juste en cliquant sur le lien, j'ai essayer de changer de place la ligne concernant le bouton mais ca ne change rien

    je ne sais meme pas si mon explication a ete suffisamment claire

  11. #11
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    ** pour Cpas2latarte **

    merci pour cette info, je vais egalement aller voir du cote du forum javascript...seulement effectivement le nombre de donnees risque d'etre important donc bon ....


    en tous les cas merci encore

  12. #12
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    je pense que dans ton cas ce qu'il fait faire est la chose suivant:
    tu créé un input hidden dans le formulaire
    cette input indiquera le type du tri.
    lorsque tu clique sur l'entete de la colonne, par un script JS, tu modifie la valeur du type du tri désiré, puis du envoi la page en soumetant le formulaire.
    coté serveur, tu récupére la valeur de cette input pour savoir comment trie
    ex ssimplifié

    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
     
    <script>
    function setTypeTri(valeur) {
    document.monFormulaire.typeTri.value= valeur;
    document.monFormulaire.sumit();
    }
    </script>
    <form method="post" name="monFormulaire">
    <input type=hidden name="typeTri">
    les autres éléments du forulaire
    initialisé
    <input type="text" name="SearchBox" value="<%=Request.Form("SearchBox")%>">
    <table>
     <tr> 
       <td onclick="setTypeTri('Colonne1')">Colonne1<td>
       <td onclick="setTypeTri('Colonne2')">Colonne2<td>
    </tr>
     ici le rest du tableau

    j'espere que mon explication est claire

  13. #13
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    Re,

    heu...je suis desole... mais je ne crois pas avoir tres bien compris...

    j'ai de mon cote essayer quelque chose en javascript mais avec le nombre d'enregistrement contenu dans ma table cela prend un certain temps de chargement pendant lequel il ne se passe rien !.

    il faut que je me penche sur ce probleme de double clic ( lien + bouton ) parce que ce principe de rechargement de la page me convient ...mais c juste qu'il faudrait que je n'ai qu'a cliquer une fois sur le lien et c tout ...

    merci encore d'avance pour votre aide

  14. #14
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    mais c juste qu'il faudrait que je n'ai qu'a cliquer une fois sur le lien et c tout ...
    Ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        .Write("<table>") 
     
        .Write ("<tr>") 
        .Write ("<td></td>") 
        .Write ("<td><a href='searchpage2.asp?Tri=Title'<b>Title </b></a></td>") 
        .Write ("<td><a href='searchpage2.asp?Tri=NumProcess'<b>Process Number </b></a></td>") 
        .Write ("<td><a href='searchpage2.asp?Tri=Owner'<b>Owner </b></a></td>") 
        .Write ("<td><a href='searchpage2.asp?Tri=Status'<b>Status </b></a></td>") 
        .Write ("<td><a href='searchpage2.asp?Tri=RevisionDate'<b>Revision </b></a></td>") 
        .Write ("</tr>")
    Il se trouve bien dans une page qui se nomme : searchpage2.asp ?

  15. #15
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    re,

    oui oui, je n'ai qu'une seule page de recherche sur laquelle il y a tout, les zones de recherches, et le tableau qui affiche les donnees.

    quand la page s'affiche pour la premiere fois , il n'apparait que simplement la zone de recherche ( a savoir un txtbox, deux dropdown list, un bouton 'envoyer', et un bouton 'reset').

    c une fois que ce bouton 'envoyer' est clique que le tableau apparait.
    seulement avec cette idee de tri par colonne, quand il recharge la page avec le nouveau parametre et il me ressort une page vide comme si ct la premiere fois qu'elle s'affichait ! ave cependant le parametre en memoire puisque si j'appuie de nouveau sur le bouton 'envoyer', j'obtiens un tableau ordonne selon le critere choisit ...

    je commence a desespere

  16. #16
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Quelle est l'action déclenchée par ton bouton "envoyer" ?

    A la limite, donne-nous le code complet de ta page.

  17. #17
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    re,

    c un bouton submit...un bouton de formulaire ordinaire...

    voici le 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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
     
     
    With Response
    .Write("<form name='SearchForm' method='post'>")
     
    .Write("<table>")
     
    .Write("<tr>")
    .Write("<td nowrap>SearchBox:</td>")
    .Write("<td nowrap>Owner:</td>")
    .Write("<td nowrap>Status:</td>")
    .Write("</tr>")
     
    .Write("<tr>")																   '***********************************
    .Write("<td nowrap><input type=text name='SearchBox' /></td>")                 '* multi criteria text area		  *
    																			   '* 								  *
    .Write("<td><select name='SearchByOwner' >") 				                   '* drop down box ...search by name *
    				.Write("<option value=''>Choose an owner...</option>") 		   '***********************************
    				ObjRs.moveFirst 
    				do while not ObjRs.eof 
    				.Write("<option value='" & ObjRs("id") & "'>" & ObjRs("LastName") & "&nbsp;"& ObjRs("FirstName") & " </option>")
    				ObjRs.moveNext 
    				loop
    				ObjRs.close
    .Write("</select>")
    																			   '**************************************
    .Write("<td><select name='SearchByStatus' >")                                  '* drop down box ... search by status *
    				.Write("<option value=''>Choose a status...</option>") 		   '**************************************
    				ObjRs2.moveFirst 
    				do while not ObjRs2.eof 
    				.Write("<option value='" & ObjRs2("id") &"'>" & ObjRs2("Description") & " </option>")
    				ObjRs2.moveNext 
    				loop
    				ObjRs2.close
    .Write("</select>")
    .Write("</tr>")
     
    .Write("<tr>")
    .Write("<td></td>")
    .Write("<td align=center><input type='submit' value='Search' name='SearchButton'/>&nbsp;")
    .Write("<input type='reset' value='Reset' name='ResetButton'></td>")
    .Write("</tr>")
     
    .Write("</table>")
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''' END OF MULTICRITERIA SEARCH FORM''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''SEARCH CODE'''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
    '*******************************************************************************************************************
    '* If the button is pressed but no fields are filled in, then display all the records in the query TreeV_Hierarchy *
    '* without the folders, the print facility and the searchpage itself											   *
    '*******************************************************************************************************************
     
    Tri = Request.QueryString("Tri") 
    select case Tri 
     
       case "Title" 
          SqlTri = "Title" 
       case "NumProcess" 
          SqlTri = "NumProcess" 
       case "Owner" 
          SqlTri = "LastName"
       case "RevisionDate" 
          SqlTri = "Revision" 
       case else 
          SqlTri = "title" 
     
    end select 
     
      	Mysql = " SELECT Icon,Title,NumProcess,Owner,Owner2,Owner3,Status,Revision,Url,Email,LastName,FirstName,type FROM TreeV_hierarchy WHERE (id > 0)" &_
    	        " AND (Type <> 'Folder') AND (Title <> 'print' ) AND (Title <> 'Search Facility') Order By " & SqlTri
     
       Set ObjRs3 = Cxn.Execute(Mysql)
     
     
     
      IF Request.Form( "SearchButton" ) <>"" THEN	
     
             IF Request.Form("SearchBox") = "" AND Request.Form("SearchByOwner") = "" AND Request.Form("SearchByStatus") = "" THEN
     
    	 .Write("<table>")
         .Write("<td></td>")
    	 .Write ("<td><a style='text-decoration:none; color:#000000;' href='searchpage2.asp?Tri=Title'><b>Title </b></a></td>")
    	 .Write ("<td><a style='text-decoration:none; color:#000000;' href='searchpage2.asp?Tri=NumProcess'><b>Process Number </b></a></td>")
    	 .Write ("<td><a style='text-decoration:none; color:#000000;' href='searchpage2.asp?Tri=Owner'><b>Owner </b></a></td>")
    	 .Write ("<td><a style='text-decoration:none; color:#000000;' href='searchpage2.asp?Tri=Status'><b>Status </b></a></td>")
    	 .Write ("<td><a style='text-decoration:none; color:#000000;' href='searchpage2.asp?Tri=RevisionDate'><b>Revision </b></a></td>")
    	 .Write ("</tr>")
     
     
     
    	  	DO UNTIL ObjRs3.EOF
    	  .Write("<tr>")
    	  .Write("<td><img src='" & ObjRs3("Icon") & "'></td>")
    	  .Write("<td><A style='text-decoration:underline; color:#000000; target='basefrm'; href = " & ObjRs3("url") & " >")
    	  .Write( ObjRs3("title") & "</a></td>")
    	  .Write("<td>" & ObjRs3("NumProcess") & "</td>")
     
    	  '****************************************************************************************************************************
    	  '* If the process map has been created by several persons select all the names and the mails from the table ownerprocesses  *
    	  '* that match with the fields owner2 and owner 3 of the query TreeV_processes:											  *
    	  '* 																													      *
    	  '*				- If the process has three owners :  																      *
    	  '****************************************************************************************************************************
     
    									 Dim NumOwner , NumMail
    									  Set objOwner = server.CreateObject("ADODB.RECORDSET")
    									  sqlOwner = "SELECT LastName,FirstName,Email FROM OwnerProcesses " 
     
    								IF ObjRs3("Owner2") <>"" AND ObjRs3("Owner3") <> "" THEN 
     
    									sqlOwner = sqlOwner & "WHERE (id =" & ObjRs3("Owner2") & ") OR (id =" & ObjRs3("Owner3") &")"
     
    									 Set NumMail = cxn.execute(sqlOwner)
    				                     Set NumOwner = cxn.execute(sqlOwner)
     
    									.Write("<td><A style='text-decoration:none;color:blue;'")
    									.write("href ='mailto: " & ObjRs3("Email")& ";") 
     
    									Do until NumMail.eof
    									.write NumMail("Email") & ";"
    									NumMail.Movenext
    									loop
     
    									.write("&CC=Iain.campbell@halliburton.com&SUBJECT=KBR IT Feedbacks'>")
    									.Write( ObjRs3("LastName") & "&nbsp;" & ObjRs3("FirstName")& " / ")
     
    									Do until NumOwner.eof
    									.Write( NumOwner("LastName") & "&nbsp;" & NumOwner("FirstName")& " / " )
    									NumOwner.movenext
    									loop
    									.write("</a></td>")
     
     
    					'*********************************************************************************
    					'* - If the process has just two owners 										 * 
    					'*********************************************************************************
    							ELSEIF ObjRs3("Owner2") <> "" THEN
     
    									 sqlOwner = sqlOwner & "WHERE (id =" & ObjRs3("Owner2") & ")"
    									 Set NumMail = cxn.execute(sqlOwner)
    									 Set NumOwner = cxn.execute(sqlOwner)
     
                                        .Write("<td><A style='text-decoration:none;color:blue;'")
    									.write("href ='mailto: " & ObjRs3("Email")& ";") 
     
    										Do until NumMail.eof
    										.write NumMail("Email") & ";"
    										NumMail.Movenext
    										loop
     
    									.write("&CC=Iain.campbell@halliburton.com&SUBJECT=KBR IT Feedbacks'>")
    									.Write( ObjRs3("LastName") & "&nbsp;" & ObjRs3("FirstName")& " / ")
     
    										Do until NumOwner.eof
    										.Write( NumOwner("LastName") & "&nbsp;" & NumOwner("FirstName")& " / " )
    										NumOwner.movenext
    										loop
    					                .write("</a></td>")
     
     
    					'*********************************************************************************
    					'* - otherwise if there is just one owner : 							         *
    					'*********************************************************************************
    							ELSE
     
    									.Write("<td><A style='text-decoration:none;color:blue;'")
    									.write("href ='mailto: " & ObjRs3("Email")& "&CC=Iain.campbell@halliburton.com&SUBJECT=KBR IT Feedbacks'>")
    									.Write( ObjRs3("LastName") & "&nbsp;" & ObjRs3("FirstName")& "</a></td>")
     
    						    END IF 
     
    				'*************************************************************************************
    				'*  Display the description of the status for each process                           *
    				'*************************************************************************************
    				IF ObjRs3("status") <>"" THEN
    				 Dim SH_Objb 
    			     Set SH_Objb = server.CreateObject("ADODB.recordset")
    				     SH_sqlb = "SELECT id , Description FROM StatusProcesses WHERE id = " & ObjRs3("status") 
    				 Set SH_Objb = cxn.execute(SH_sqlb)	
    				.Write("<td> " & SH_Objb("Description") & "</td>")
    				END IF 
     
    				'*************************************************************************************
    				'*  Display the description of the revision date for each process                    *
    				'*************************************************************************************
                    .Write("<td> " & ObjRs3("Revision") & "</td>")
    	  .Write("</tr>")
    	ObjRs3.MoveNext
       LOOP
        ObjRs3.close
        Set ObjRs3 = Nothing
        .Write("</table>")
     
     ELSE 
     
    	   '**************************************************************************************************************************************
    	   '* Otherwise if the button is pressed band one or every fields are filled in the select all the records correponding to the criterias *
    	   '**************************************************************************************************************************************
     
            Mysql = " SELECT DISTINCT Icon,Title,NumProcess,Owner,Owner2,Owner3,Status,Revision,Url,Email,LastName,FirstName FROM TreeV_hierarchy WHERE ID>0 "
     
    		IF request.Form("SearchBox") <> "" THEN
    		SearchBox = Rep(Request.Form("SearchBox"))
    		Mysql = Mysql & " AND (Keywords LIKE '%"& SearchBox & "%')" &_
    						" OR  (NumProcess LIKE '%" & SearchBox & "%')" &_
    						" OR  (Title LIKE '%" & SearchBox & "%')"
    		END IF
     
    		IF Request.Form("SearchByOwner") <> "" THEN
    		strField = Request.Form("SearchByOwner")
    		Mysql = Mysql & " AND (Owner = " & Request.Form("SearchByOwner") & ")"&_ 
    		                " OR (Owner2 = " & Request.Form("SearchByOwner") & ")" &_
    						" OR (Owner3 = " & Request.Form("SearchByOwner") & ")"
    		END IF
     
    		IF Request.Form("SearchByStatus") <> "" THEN
    		Mysql = Mysql & " AND (status = " & Request.Form("SearchByStatus") & ")" 
    		END IF
     
    		Mysql = Mysql & "AND (Type <> 'Folder') AND (Title <> 'print' ) AND (Title <> 'Search Facility') ORDER BY Title"
     
    	Set ObjRs3 = Cxn.Execute(Mysql)
     
      IF ObjRs3.EOF = TRUE THEN
     .Write("No match for your search")
     
      ELSE
     
      Response.Write("<table>")
     
      	 .Write ("<tr>")
    	 .Write ("<td></td>")
    	 .Write ("<td><b>Title </b></td>")
    	 .Write ("<td><b>Process Number </b></td>")
    	 .Write ("<td><b>Owner </b></td>")
    	 .Write ("<td><b>Status </b></td>")
    	 .Write ("<td><b>Revision </b></td>")
    	 .Write ("</tr>")
     
      	DO UNTIL ObjRs3.EOF
    	  .Write("<tr>")
    	  .Write("<td><img src='" & ObjRs3("Icon") & "'></td>")
    	  .Write("<td><A style='text-decoration:underline; color:#000000; target='basefrm'; href = " & ObjRs3("url") & " >")
    	  .Write( ObjRs3("title") & "</a></td>")
    	  .Write("<td>" & ObjRs3("NumProcess") & "</td>")
     
    	  '****************************************************************************************************************************
    	  '* If the process map has been created by several persons select all the names and the mails from the table ownerprocesses  *
    	  '* that match with the fields owner2 and owner 3 of the query TreeV_processes:											  *
    	  '* 																													      *
    	  '*				- If the process has three owners :  																      *
    	  '****************************************************************************************************************************
     
    									  Dim NumOwner2 , NumMail2
    									  Set objOwner2 = server.CreateObject("ADODB.RECORDSET")
    									  sqlOwner2 = "SELECT LastName,FirstName,Email FROM OwnerProcesses " 
     
    						  IF ObjRs3("Owner2") <>"" AND ObjRs3("Owner3") <> "" THEN 
     
    									sqlOwner2 = sqlOwner2 & "WHERE (ID =" & ObjRs3("Owner2") & ") OR (ID =" & ObjRs3("Owner3") &")"
     
    									 Set NumMail2 = cxn.execute(sqlOwner2)
    				                     Set NumOwner2 = cxn.execute(sqlOwner2)
     
    									.Write("<td><A style='text-decoration:none;color:blue;'")
    									.write("href ='mailto: " & ObjRs3("Email")& ";") 
     
    									Do until NumMail2.eof
    									.write NumMail2("Email") & ";"
    									NumMail2.Movenext
    									loop
     
    									.write("&CC=Iain.campbell@halliburton.com&SUBJECT=KBR IT Feedbacks'>")
    									.Write( ObjRs3("LastName") & "&nbsp;" & ObjRs3("FirstName")& " / ")
     
    									Do until NumOwner2.eof
    									.Write( NumOwner2("LastName") & "&nbsp;" & NumOwner2("FirstName")& " / " )
    									NumOwner2.movenext
    									loop
    									.write("</a></td><br>")
     
     
    					'*********************************************************************************
    					'* - If the process has just two owners 										 * 
    					'*********************************************************************************
    							ELSEIF ObjRs3("Owner2") <> "" THEN
     
    									 sqlOwner2 = sqlOwner2 & "WHERE (id =" & ObjRs3("Owner2") & ")"
    									 Set NumMail2 = cxn.execute(sqlOwner2)
    									 Set NumOwner2 = cxn.execute(sqlOwner2)
     
                                        .Write("<td><A style='text-decoration:none;color:blue;'")
    									.write("href ='mailto: " & ObjRs3("Email")& ";") 
     
    										Do until NumMail2.eof
    										.write NumMail2("Email") & ";"
    										NumMail2.Movenext
    										loop
     
    									.write("&CC=Iain.campbell@halliburton.com&SUBJECT=KBR IT Feedbacks'>")
    									.Write( ObjRs3("LastName") & "&nbsp;" & ObjRs3("FirstName")& " / ")
     
    										Do until NumOwner2.eof
    										.Write( NumOwner2("LastName") & "&nbsp;" & NumOwner2("FirstName")& " / " )
    										NumOwner2.movenext
    										loop
    					                .write("</a></td>")
     
    					'*********************************************************************************
    					'* - otherwise if there is just one owner : 							         *
    					'*********************************************************************************
    							ELSE
     
    									.Write("<td><A style='text-decoration:none;color:blue;'")
    									.write("href ='mailto: " & ObjRs3("Email")& "&CC=Iain.campbell@halliburton.com&SUBJECT=KBR IT Feedbacks'>")
    									.Write( ObjRs3("LastName") & "&nbsp;" & ObjRs3("FirstName")& "</a></td>")
     
    						    END IF 
     
    					'*********************************************************************************
    					'* - And again the status and the revision date of each records : 				 *
    					'*********************************************************************************
    				IF ObjRs3("status") <>"" THEN
    				 Dim SH2_Objb 
    			     Set SH2_Objb = server.CreateObject("ADODB.recordset")
    				     SH2_sqlb = "SELECT id , Description FROM StatusProcesses WHERE id = " & ObjRs3("status") 
    				 Set SH2_Objb = cxn.execute(SH2_sqlb)	
    				.Write("<td> " & SH2_Objb("Description") & "</td>")
    				END IF 
    				.Write("<td> " & ObjRs3("Revision") & "</td>")
    	            .Write("</tr>")
     
    	ObjRs3.MoveNext
       LOOP
        ObjRs3.close
        Set ObjRs3 = Nothing
     
      .Write("</table>")
      END IF
     
     END IF
     
    END IF
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''END OF SEARCH CODE'''''''''''''''''''''''''''''''''''''''
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
     
     
    .Write("</form>")
    End With 
    %>
    </head>
    <body>
    </body>
    </html>

    en fait c marche, il y a juste ce probleme de bouton ..
    merci encore

  18. #18
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Comme ça, à la première lecture, un truc qui ne va pas :

    Le bouton envoyer recharge la page via la méthode POST => donc, les variables sont récupérées avec Request.Form

    Les liens qui permettent les tris des colonnes utilisent la méthode GET => donc, les variables sont récupérées avec Request.QueryString

    A mon avis, tu as deux solutions :

    1 Quand tu cliques sur un lien pour trier une colonne, tu appelles une fonction javasvript qui se chargera d'alimenter un champ de type hidden (à l'intérieur de ton formulaire). Tu pourras alors récupérer le choix du tri avec la méthode Request.Form.

    2 Tu récupères tes variables sans préciser QueryString ou Form et tu laisses ASP se débrouiller (ça marche chez moi). Tu ne fais que des Request("MaVariable").

  19. #19
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    Re,

    j'ai change tous les request.form et autres en request simple, mais il reste le probleme de la place dans le code de la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    IF Request( "SearchButton" ) <>"" THEN
    place ou il est ca marche mais il faut quand meme que appuyer dessus pour voir le tableau trier ...

  20. #20
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    150
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 150
    Points : 93
    Points
    93
    Par défaut
    re,

    en fait si j'enleve completement cette ligne , ca marche comme il faudrait , le seul "desagrement" c que des le premier affichage la page affiche tous les resultats de la table
    c un peu dommage , mais je vais continuer de chercher

Discussions similaires

  1. Tri dynamique de tableau HTML avec javascript
    Par Say hello dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/11/2013, 10h30
  2. probleme pour charger dynamiquement un tableau
    Par Bobette dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 12/04/2012, 12h53
  3. tri dynamique tableau
    Par linar009 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/08/2006, 15h20
  4. probleme de script pour trier dynamiquement un tableau
    Par K_!!! dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 16/02/2006, 16h46
  5. [langage] Probleme de tri d'un tableau de tableau
    Par Ludo167 dans le forum Langage
    Réponses: 1
    Dernier message: 25/08/2004, 10h32

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