Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1441 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  filtrer en ASP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

filtrer en ASP

n°1363080
kewl4ever
Posté le 10-05-2006 à 11:04:29  profilanswer
 

bonjour =)
 
je viens rendre visite à des personnes plus expérimentées en ASP que je le suis.
j'ai un petit souci dans l'execution d'un filtre d'information en asp, d'une recherche donc.  
 
j'ai effectué une liste déroulante renvoyant des trigrammes(liés à des noms de personnes).par la selection d'un trigramme, j'aimerais que ce fichier agisse sur une liste, et rende les informations selon le trigramme.
 
pour être clair, à un trigramme est attribué un materiel,celui-ci étant identifié par un code
 
fichier recherche1.asp

Code :
  1. <!--#INCLUDE FILE="fct_connexion.inc"-->
  2. <html>
  3. <form action="liste1.asp" method="GET" target="cadre1">
  4.       <table border="0" width="100%" cellspacing="3" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0">
  5.         <tr>
  6.           <td><div align="right"><p>Collaborateurs :&nbsp; </td>
  7.           <td>
  8.           <select name="trigramme" size="1" tabindex="1">
  9.             <option initial value="Trigrammes">Tous</option>
  10. <%
  11. 'connexion à la base de données par l'intermédiaire de la fonction Connexion() du fichier fct_connexion.inc
  12. Connexion
  13. 'création du Recordset
  14. SQLQuery = "SELECT * FROM collaborateur "
  15. SQLQuery = SQLQuery & " order by trigramme "
  16. Set RS = OBJdbConnection.Execute(SQLQuery)
  17. 'Remplissage de la liste
  18. If Not estVide(RS) Then
  19.       Do Until RS.Eof
  20.          response.write("<option value='" & Replace(RS("trigramme" ),"'","&" ) & "'>" )   'Replace(RS("trigramme" ),"'","''" )
  21.          response.write(RS("trigramme" ))
  22.          response.write("</option>" )
  23.          RS.MoveNext
  24.       Loop
  25. End If
  26. 'Fermeture du Recordset par l'intermédiaire de la fonction Fermeture(...) du fichier fct_connexion.inc
  27. Fermeture RS
  28. %>
  29.     </select>
  30.   </td>               
  31.         </tr>
  32.         <tr>
  33.           <td></td>
  34.           <td><input type="submit" value="Valider" name="B1" tabindex="3"><input type="reset"
  35.           value="Effacer" name="B2" tabindex="4"></td>
  36.         </tr>
  37.       </table>
  38.     </form>
  39.     </td>
  40.     </table>
  41. </center></div>
  42. </body>
  43. </html>


 
fichier liste1.asp
 

Code :
  1. <%
  2. trigramme = Replace(Request.QueryString("trigramme" ),"&","''" )
  3. %>
  4. <%
  5. 'connexion à la base de données par l'intermédiaire de la fonction Connexion() du fichier fct_connexion.inc
  6. Connexion
  7. 'création du Recordset
  8. SQLQuery = "SELECT * FROM ads.rfi,collaborateur,service,site "
  9. SQLQuery = SQLQuery & " where fk_id_pers=id_pers AND fk_id_serv=id_serv AND fk_id_site=id_site"
  10. if trigramme <> "Trigrammes" and trigramme<>"" then
  11.    SQLQuery = SQLQuery & "where trigramme like '" & trigramme & "'"
  12. end if
  13. SQLQuery = SQLQuery & " ORDER BY trigramme"
  14. Set RS = OBJdbConnection.Execute(SQLQuery)
  15. %>
  16. <body background="../images/white.gif" bgcolor="#FFFFFF" topmargin="5"
  17. leftmargin="10">
  18. <table COLSPAN="8" BORDER="0" width="99%" cellpadding="3" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
  19.   <tr>
  20.     <th colspan="4" align="left"><img src="../images/rfi.gif"></th>
  21.   </tr>
  22.   <tr>
  23.     <td align="center" width="8%" bgcolor="#008080"><font color="#FFFF00">trigramme</font></td>
  24.     <td align="center" width="20%" bgcolor="#008080"><font color="#FFFF00">Code</font></td>
  25.     <td align="center" width="20%" bgcolor="#008080"><font color="#FFFF00">Nom</font></td>
  26.     <td align="center" width="20%" bgcolor="#008080"><font color="#FFFF00">Prenom</font></td>
  27.     <td align="center" width="20%" bgcolor="#008080"><font color="#FFFF00">Service</font></td>
  28.     <td align="center" width="20%" bgcolor="#008080"><font color="#FFFF00">Site</font></td>
  29.  
  30.    
  31.   </tr>
  32.   <tr>
  33. <% Do While Not RS.EOF %>
  34.     <td align="center"  width="8%" bgcolor="#FFFFC0" valign="top"><font color="#000080"><font color="#000080"><a HREF="detail1.asp?annonce=<%=RS("id_pers" )%>" target="cadre2"><%=UCase(RS("trigramme" ))%></a></font></td>
  35.      <td align="left" width="52%" bgcolor="#FFFFC0" valign="top"><font color="#000080"><%= UCase(RS("code" ))%> </font></td>
  36.     <td align="left" width="52%" bgcolor="#FFFFC0" valign="top"><font color="#000080"><%= UCase(RS("nom" ))
  37. %></font></td>


 
je met pas tout, ca devien vite lourd :pt1cable:
mais je pense que l'essentiel est la
 
 
 
 
lorsque je selection un trigramme dans la liste déroulante, j'ai l'erreur suivante :
 
Microsoft OLE DB Provider for SQL Server erreur '80040e14'
Ligne 1 : syntaxe incorrecte vers 'trigramme'.  
/Solution/stages/etds/liste1.asp, ligne 26  
 
ligne 26 = Set RS = OBJdbConnection.Execute(SQLQuery)
 
Cependant si j'enlève les clefs étrangères dans le fichier liste1.asp et que je travaille seulement sur la table collaborateur ( avec les champs, id_pers,trigramme, nom, prenom,fk_id_service ) il me renvoit correctement le nom et prenom correspondant au trigramme.
Mais dès que je lui demande de me renvoyer les informations en relation avec les autres tables.. pouf ca marche plus ( c'est-à-dire, le matériel, identifiant du matériel et sa localité ( site et service))


Message édité par kewl4ever le 10-05-2006 à 11:34:47
mood
Publicité
Posté le 10-05-2006 à 11:04:29  profilanswer
 

n°1425241
Metal69
Posté le 14-08-2006 à 11:34:56  profilanswer
 

Pense à bien fermer tes balises html (ici)
<td><div align="right"><p>Collaborateurs :&nbsp; </td>
manque la fermeture du p puis du div
 
essaye :  
     Do while not RS.Eof
        response.write("<option value='" & Replace(RS("trigramme" ),"'","&" ) & "'>" )   'Replace(RS("trigramme" ),"'","''" )
        response.write(RS("trigramme" ))
        response.write("</option>" )
        RS.MoveNext
     Loop
 
au lieu de :
If Not estVide(RS) Then
     Do Until RS.Eof
        response.write("<option value='" & Replace(RS("trigramme" ),"'","&" ) & "'>" )   'Replace(RS("trigramme" ),"'","''" )
        response.write(RS("trigramme" ))
        response.write("</option>" )
        RS.MoveNext
     Loop
End If
 
 
T'as essayé :
SQLQuery = SQLQuery & "where trigramme = '" & trigramme & "'"
au lieu de :
SQLQuery = SQLQuery & "where trigramme like '" & trigramme & "'"
?
 
Enfin bon voilà ce que tu peux tester dans un premier temps, j'ai un peu survolé ton post vu que j'ai pas trop le tps de bien me pencher sur ton pb ^^

n°1426221
lapin21
Posté le 16-08-2006 à 17:51:47  profilanswer
 

SQL Server est un peu chatouilleux avec les filtres sur les chaines de caractère. Tu as testé ta requête avec un client SQL ?

n°1433660
frenchconn​exion
Posté le 30-08-2006 à 13:18:05  profilanswer
 

Teste ta requête SQL directement dans sql manager, juste pour voir si des résultats en sorte...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  filtrer en ASP

 

Sujets relatifs
confirm dans de l'ASPExecuter de l'ASP en local sur XP familiale
[ASP.NET] Faire tourner de l'ASP.NET sans IIS[ASP.NET 2.0 ] Les dossier "App_*" d'un projet Web??
[C# ASP.NET][Probleme] Affecter un CSSCLASS dynamiquement ?[ASP.Net]Liés deux controls par une fleche
[ASP 2.0] User Control constitué d'une DDL + ImageComment créer un webservice en ASP
PHP ou ASP -> l'avenir appartient auquel? Lequel est le mieux SVP?Asp:reapeater + itemCommand : Comment on refresh ca ??
Plus de sujets relatifs à : filtrer en ASP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR