Bonjour,

J'aimerais qu'après un click sur une lettre, les mots de la table mot qui commencent par cette lettre et dont la valeur est affectée à la variable "recherche" s'affichent.
Il se trouve que la requête pour récupérer tous les mots fonctionne bien ( avec l'analyseur de rquêtes sql çà fonctionne bien)mais à l'affichage, il y a un problème


Voici le code javascript utilisé pour cela

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
 
 
 
if (oXMLPersist.getElementsByTagName(recherche).length == 0 || oXMLPersist.getElementsByTagName(recherche).item(0).getAttributeNode("complet").value == "false") 
            { 
      /*9ème if*/      if (oXMLPersist.getElementsByTagName(recherche).length == 0) 
               { 
                  var oLettre = oXMLPersist.createElement(recherche); 
                  oMots.appendChild(oLettre); 
               } // fin de 9ème if 
               else 
               { 
                  var oLettre = oXMLPersist.selectSingleNode("//"+recherche); 
               } 
 
               // Ouverture du Recordset 
               oRecordSet = OpenRecordset(ReqMots(recherche, tri),"BaseMediaConn"); 
               while (!oRecordSet.eof) 
               { 
                  // Génère les noeuds mot rattachés au noeud de recherche 
                  if (oXMLPersist.selectSingleNode("//"+typetree+"_mot[@ID='"+oRecordSet("ID")+"']") == null){ 
                     var oMot = oXMLPersist.createElement(typetree+"_mot"); 
                     var oNom = oXMLPersist.createElement("nom"); 
                     var oDef = oXMLPersist.createElement("definition"); 
                     var oCDATANom = oXMLPersist.createCDATASection(oRecordSet("NOM")); 
                     var oCDATADef = oXMLPersist.createCDATASection(oRecordSet("DEFINITION")); 
                     oMot.setAttribute("ID",oRecordSet("ID")); 
                     oNom.appendChild(oCDATANom); 
                     oDef.appendChild(oCDATADef); 
                     oMot.appendChild(oNom); 
                     oMot.appendChild(oDef); 
                     oLettre.appendChild(oMot); 
                  }//fin de 10ème if 
                  oRecordSet.MoveNext(); 
               }//fin de while 
               oLettre.setAttribute("complet","true"); 
 
               // Fermeture du recordset 
               CloseRecordSet(); 
               CloseConnection();
La fonction javascript Req(mot, tri) est la suivante:
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
 
 
 
function ReqMots(mot, tri){ 
   SQLStr = "SELECT ID, NOM, DEFINITION "; 
   SQLStr += "FROM MOT "; 
   switch (mot.toString()){ 
   case "A" : 
      SQLStr += "WHERE NOM LIKE '" + mot + "%' "; 
      SQLStr += "OR NOM LIKE 'à" + mot.substring(1,mot.length) + "%' "; 
   break; 
   case "E" : 
      SQLStr += "WHERE NOM LIKE '" + mot + "%' "; 
      SQLStr += "OR NOM LIKE 'é" + mot.substring(1,mot.length) + "%' "; 
      SQLStr += "OR NOM LIKE 'è" + mot.substring(1,mot.length) + "%' "; 
      SQLStr += "OR NOM LIKE 'ê" + mot.substring(1,mot.length) + "%' "; 
   break; 
   case "I" : 
      SQLStr += "WHERE NOM LIKE '" + mot + "%' "; 
      SQLStr += "OR NOM LIKE 'î" + mot.substring(1,mot.length) + "%' "; 
   break; 
   case "O" : 
      SQLStr += "WHERE NOM LIKE '" + mot + "%' "; 
      SQLStr += "OR NOM LIKE 'ô" + mot.substring(1,mot.length) + "%' "; 
   break; 
   default : 
      if (mot.length >= 3){ 
         switch (Number(tri)){ 
         case 0 : 
         SQLStr += "WHERE NOM LIKE '" + mot + "%' "; 
         break; 
         case 1 : 
         SQLStr += "WHERE NOM LIKE '%" + mot + "%' "; 
         break; 
         case 2 : 
         SQLStr += "WHERE DEFINITION LIKE '%" + mot + "%' "; 
         break; 
         case 3 : 
         SQLStr += "WHERE NOM LIKE '%" + mot + "%' "; 
         SQLStr += "AND DEFINITION LIKE '%" + mot + "%' "; 
         break; 
         } 
      } else { 
         SQLStr += "WHERE NOM LIKE '" + mot + "%' "; 
      } 
   break; 
   } 
   //SQLStr += "ORDER BY NOM"; 
   if(Debug) Message += "SQL = " + SQLStr + "<p>"; 
   return SQLStr; 
}
Je suis vraiment très embêtée de ne pas pouvoir voir le résultat de ma requête à l'affichage, pourriez vous m'y aider.

Merci infiniment pour votre aide.

Bien cordialement.

Nathalie Harbonne