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 :

liste déroulante


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut liste déroulante
    Bonjour,
    Je travaille en asp vbscript.
    J'ai une liste déroulante qui contient les noms des clients. Lorsque je clique sur un de ces noms, je voudrais que l'adresse de ce client s'affiche en dessous. Apparemment c'est ma requête qui ne fonctionne pas mais je ne comprend pas pourquoi. Voici mon 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
     
    <select name="nom" size="1">
      <%Set connectionStri = Server.CreateObject("ADODB.Connection")
            MdbFilePath = Server.MapPath("Prospectus.mdb") 
            stri = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & MdbFilePath & ";"
            connectionStri.Open stri
            set Result=connectionStri.execute("Select * from Client")
      %>
         <%do while not Result.eof %>
        <option value="<%=Result("NomClient")%>"><%=Result("NomClient")%>
        <% 
    	  Result.movenext
    	  loop
    	  Result.close
    	  set Result=nothing
    	  connectionStri.Close
    	  Set connectionStri=nothing
    	%>
      </select> 
    <%
       NomClt=Request("nom")
       Set connect = Server.CreateObject("ADODB.Connection") 
       MdbFilePath = Server.MapPath("Prospectus.mdb") 
       stri = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & MdbFilePath & ";" 
       connect.Open stri 
       set res=connect.execute("Select * from Client where NomClient='" & NomClt & "'")
    %>
    Votre adresse :
      <%do while not res.eof%>
      <textarea name="adresse"><%response.write res.Fields("AdresseClient")&""%></textarea>
    <%res.movenext
         Loop
         res.close
         set res=nothing
         connect.close
         set connect=nothing
    %>
    Merci beaucoup

  2. #2
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    pour faire ça il te faut passer par le serveur pour faire la seconde requête, lors d'une sélection dans ton select

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Pourrais tu me montrer comment on fait car je suis vraiment débutante.
    Merci

  4. #4
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    je n'ai pas le temps de te faire ton code
    le principe :
    - sur le onChange de ton select, tu rappeles la page en cours en lui passant comme paramètre le nom client (tu ferais mieux de travailler sur la clé primaire de ta table, d'ailleurs)
    - tu ajoutes un test avant ta seconde reqûete pour savoir si tu as un paramètre dans l'URL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Request.QueryString("monparam") then
    - tu fais alors ta seconde reqûete et tu affiches le résultat

    ce n'est pas très compliqué à faire, bon courage

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Je te remercie beaucoup.
    Je voudrais juste savoir si le onChange s'écrit comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="nomClient" onChange="prospectus.asp("nomClient")">

  6. #6
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Citation Envoyé par leeloo076
    Je te remercie beaucoup.
    Je voudrais juste savoir si le onChange s'écrit comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <select name="nomClient" onChange="prospectus.asp("nomClient")">
    non
    onChange="window.location="prospectus.asp?nomclient='nomClient'"

    il me semble

  7. #7
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    plutôt comme ça, mais j'ai pas testé...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onChange="window.location.href='prospectus.asp?nomclient='+document.monform.monselect.options.value+'"

  8. #8
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    oui c'est vrai que j'avais pas vu son formulaire

    par contre il me semble avoir lu que href est la valeur par default de window.location mais j'ai jamais teste :

  9. #9
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    ouaip, les 2 marchent pareil et avant je ne le mettais pas, mais je trouve ça plus explicite, alors...

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Voila ce que jai fait et ça ne fonctionne toujours pas :

    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
     
    <FORM METHOD="GET" name="prospect">
    <p align="left" class="Style2">Votre nom :
      <select name="nom" size="1" onChange="window.location.href='prospectus.asp?NomClient='+document.prospect.nom.options.value+'">
      <%Set connectionStri = Server.CreateObject("ADODB.Connection")
    	   MdbFilePath = Server.MapPath("Prospectus.mdb")
    	   stri = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & MdbFilePath & ";"
    	   connectionStri.Open stri
    	   set Result=connectionStri.execute("Select * from Client")
    	 %>
         <%do while not Result.eof %>
        <option value="<%=Result("NomClient")%>"><%=Result("NomClient")%>
        <% 
    	  Result.movenext
    	  loop
    	  Result.close
    	  set Result=nothing
    	  connectionStri.Close
    	  Set connectionStri=nothing
    	%>
      </select> 
    <%if Request.QueryString("nom") then%>
    <%
      Set connect = Server.CreateObject("ADODB.Connection") 
      MdbFilePath = Server.MapPath("Prospectus.mdb") 
      stri = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & MdbFilePath & ";" 
      connect.Open stri 
      set res=connect.execute("Select * from Client where NomClient='" & nom & "'")
    %>
    <p align="left" class="Style2">Votre adresse :
      <%do while not res.eof%>
      <textarea name="adresse"><%response.write res.Fields("AdresseClient")&""%>
      </textarea>
    <%
      res.movenext
      Loop
      res.close
      set res=nothing
      connect.close
      set connect=nothing
    %>
    <%end if%>
    Merci

  11. #11
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    c'est un peu normal....
    - tu mets NomClient comme querystring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prospectus.asp?NomClient=...
    - tu récupères nom :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if Request.QueryString("nom") then
    - tu fais la requête avec un variable nom et non pas le querystring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Select * from Client where NomClient='" & nom & "'"

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 47
    Points : 26
    Points
    26
    Par défaut
    Ok mais que faut il que je mette alors ? J'ai beau essayer dans tous les sens ça ne fonctionne pas

  13. #13
    Inactif
    Inscrit en
    Juillet 2002
    Messages
    315
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 315
    Points : 353
    Points
    353
    Par défaut
    1/ fais un alert de document.prospect.nom.options.value pour être sûr que tu récupères la bonne valeur
    2/ si tu mets NomClient comme nom de paramètre, tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Request.QueryString("NomClient")
    sur le test et dans la requête...

    mais je te conseille vivement de lire le tutoriel et la FAQ ASP, il faut connaître un minimum les bases avant de foncer tête baissée dans le développement et utiliser le forum comme débuggueur

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

Discussions similaires

  1. [ JSP ][ Débutant ] Liste déroulante + actualisation de page
    Par captainpouet dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 17/04/2004, 19h51
  2. valeur d'une liste déroulante
    Par leeloo076 dans le forum ASP
    Réponses: 7
    Dernier message: 15/04/2004, 16h11
  3. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01
  4. liste déroulante en ASP vbscript
    Par leeloo076 dans le forum ASP
    Réponses: 9
    Dernier message: 17/03/2004, 16h42
  5. Listes déroulantes liées entre elles
    Par denisC dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 27/07/2002, 15h53

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