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 :

menu déroulant


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut menu déroulant
    Bonjour

    Voilà le problème.

    Je récupère une donnée dans une table. Je voudrais afficher un select où cette donnée apparaitrai en premier.

    Seulement j'ai essayé différentes solutions mais aucune ne fonctionne.
    ou je récupère toutes mes données ou je récupère n fois la même donnée.

    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
     
    <%	Dim data1
    	data1=request.form("commande")
     
    'Recupération des données'
     
    Dim str
    Dim cnBD
    Dim rs
    Dim Recup
    Recup="SELECT * FROM Commande WHERE NumCommande='"&data1&"'"
     
    str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
    set cnBD =Server.CreateObject("ADODB.Connection")
    set rs = server.CreateObject("ADODB.RecordSet")
     
    cnBD.Open str
     
    rs.open Recup, cnBD
     
    %>
    .....
    <tr>
     <td><B><div align=center><SELECT name="diam">
       <%
       Dim rsdiam,sql
       set rsdiam = server.CreateObject("ADODB.RecordSet")
       sql = "SELECT DISTINCTROW diametre FROM SourceProduits GROUP BY diametre ORDER BY diametre"
       rsdiam.open sql, cnBD
          do while not rsdiam.eof
       %>
       <OPTION value="<% response.Write(trim(rs("diametre"))) %>"><% response.Write(rsdiam("diametre")) %></OPTION>
       <%
             rsdiam.movenext
          loop
            %>
     
      </SELECT></B></td>

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

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

    rs.open Recup, cnBD
    Je ne vois pas où tu utilises ce recordset ?

    Pourquoi 2 recordset ?

    Peux-tu préciser un peu plus STP ?

  3. #3
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    En fait j'ai une table commande. Je crée mon premier recordset dessus pour aller chercher toutes les caractéristiques de ma commande ,dont le diamètre qui m'intéresse ici, pour les modifier en cas d'erreur de saisie.

    Seulement pour le diamètre je veux crée un menu déroulant qui me donne tous mes diamètres possibles avec mon 2eme recordset à partir d'une table qui contient tous les produits possibles. Ce menu je voudrais qu'il affiche par défaut la valeur précedemment saisie.

    Pour l'instant j'ai 15 diamètres différents. Mon diamètre exemple est de 88.9. Le premier de la liste des diamètres est 41.6.

    Pour l'instant les 2 choses que j'ai essayé me donne soit 15 fois 88.9 ou alors tous mes diamètres mais en affichant 41.6 par défaut et non pas 88.9.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 151
    Par défaut
    Voici un code qui fait plus ou moins la même chose que ce que tu veux faire. Je récupérais un auteur entré dans un autre formulaire et je le mettais en selected dans la liste déroulante que j'affiche sur la page.

    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
    dim sID_Auteur, sAuteur
    sAuteur = request.cookies("ID_Auteur")
    sSQL = "select distinct lexique.Nom_auteur, Pack.Num_Auteur from Pack, lexique WHERE Pack.Num_Auteur = Lexique.Num_auteur and lexique.Num_auteur NOT LIKE '1' order by Nom_auteur"
    sSQL2 = "select lexique.Nom_auteur from lexique where lexique.Num_Auteur = " & sAuteur
     
    Set rsRecupAuteur = connect.execute (sSQL2)
    sNomAuteur = rsRecupAuteur ("Nom_auteur")
    rsRecupAuteur.close
    %> <form method="post" name="form_titre" action="getPackCombi.asp">                 
        <div class="select">
          <select name="auteur">
            <option selected class="option" value="<% = sAuteur %>">
              <% = sNomAuteur %>
            </option>
            <%
                                                Set rsNom = connect.execute (sSQL)
                                                do while not rsNom.eof
                                                sAuteur = rsNom ("Nom_auteur")
    											sID_Auteur = rsNom("Num_Auteur")
                                                %>
            <option class="option" value="<% = sID_Auteur %>">
              <% = sAuteur %>
            </option>
            <% rsNom.Movenext
                                                loop
     
                                                %>
          </select>
        </div>
    J'espère que ça t'aidera !

  5. #5
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    ok je vais regarder. Par contre autre problème, cette fois _ci avec les checkbox.

    Si je fais ma mise à jour sur quelque chose de coché il se décoche.

    Voici mes codes.

    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
    <TABLE ALIGN="left" BORDER=0 CELLSPACING=0 CELLPADDING=0 WIDTH="65%">
    <TR>
    <td><b>Peinture</b> <div align=center>
    <%
    if rs("peinture")=True then
         Response.write "<input checked type=""checkbox"" name=""data4"" value=""OUI"">"& chr(10)
      else
          Response.write "<input type=""checkbox"" name=""data4"" value=""NON"">"& chr(10)
      end if
      %>
    </td>
    <td><b>Phosphatation</b> <div align=center>
    <%
    if rs("phosphatation")=True then
         Response.write "<input checked type=""checkbox"" name=""data5"" value=""OUI"">"& chr(10)
      else
          Response.write "<input type=""checkbox"" name=""data5"" value=""NON"">"& chr(10)
      end if
      %>
    </td>
    et celui de la mise à jour dans les tables

    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
    <%@ Language="VBScript"%>
    <% option explicit%>
    <%	Dim data1,data2,data3,data4,data5,data6,data7,peint,phos,graisse,poinc
     
    	data1=request.form("data1")
    	data2=request.form("data2")
    	data3=request.form("data3")
    	data4=request.form("data4")
    	data5=request.form("data5")
    	data6=request.form("data6")
    	data7=request.form("data7")
     
    	if data4="NON" Then
    		peint=1
    	else
    		peint=0
    	End if
    	if data5="NON" Then
    		phos=1
    	else
    		phos=0
    	End if
    	if data6="NON" Then
    		graisse=1
    	else
    		graisse=0
    	End if
    	if data7="NON" Then
    			poinc=1
    		else
    			poinc=0
    	End if
    	Dim str
    	Dim cnBD
     
    	Dim strMiseajourData1
    	Dim strMiseajourData2
    	Dim strMiseajourData3
    	Dim strMiseajourData4
    	Dim strMiseajourData5
    	Dim strMiseajourData6
    	Dim strMiseajourData7
     
    	str = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath(".") &"\PR.mdb"
     
    	strMiseajourData1="UPDATE Commande SET DateDeSaisie='"&data1&"' WHERE NumCommande='"&data2&"'"
    	strMiseajourData3="UPDATE Commande SET NomClient='"&data3&"' WHERE NumCommande='"&data2&"'"
    	strMiseajourData4="UPDATE Commande SET peinture='"&peint&"' WHERE NumCommande='"&data2&"'"
    	strMiseajourData5="UPDATE Commande SET phosphatation='"&phos&"' WHERE NumCommande='"&data2&"'"
    	strMiseajourData6="UPDATE Commande SET GraisseManuel='"&graisse&"' WHERE NumCommande='"&data2&"'"
    	strMiseajourData7="UPDATE Commande SET PoincLong='"&poinc&"' WHERE NumCommande='"&data2&"'"
     
     
     
     
    	set cnBD =Server.CreateObject("ADODB.Connection")
    	cnBD.Open str
     
    	cnBD.Execute(strMiseajourData1)
    	cnBD.Execute(strMiseajourData3)
    	cnBD.Execute(strMiseajourData4)
    	cnBD.Execute(strMiseajourData5)
    	cnBD.Execute(strMiseajourData6)
    	cnBD.Execute(strMiseajourData7)
     
    	cnBD.Close
    	set cnBD=nothing
     
    	Response.Redirect"MenuGeneral.html"
    %>

  6. #6
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    Pas d'idée sur les checkbox?

    En fait j'affiche bien ce que j'ai dans ma BD seulement après pour faire la mise à jour çà ne marche pas.
    Ce qu' y est coché devient non coché!
    Je vois bien que dans le code çà peut pas marcher mais je vois pas trop comment faire pour afficher l'ancien état tous en enregistrant après le nouveau.

  7. #7
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Pour cocher un YES/NO dans Access, il faut lui attribuer la valeur -1 pour YES.
    C'est le contraire de SQL qui prend 1 pour YES.
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2005
    Messages : 412
    Par défaut
    Citation Envoyé par pmboutteau
    value=""OUI""
    [/code]
    Je comrend pas ca. Quand une checkbox est coché tu doit mettre le mot clef checked

  9. #9
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par puputte
    Je comrend pas ca. Quand une checkbox est coché tu doit mettre le mot clef checked
    Oui, mais c'est pas "checked" qui est posté, c'est "value" qd la case est "checked".
    "Winter is coming" (ma nouvelle page d'accueil)

  10. #10
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    avec -1 çà marche mais si je décoche une case en revenant dans la modif si je la recoche il le laisse toujours décocher.

    Voici le test que j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if data4="OUI" Then
    		peint=-1
    	else
    		peint=0
    	End if
    et ce qui est bizarre c'est que quand je test çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if data4="OUI" Then
    		peint=-1
    	else
    	if data4="NON" Then
    		peint=0
    	End if
    	End if
    Il me mets une erreur dans mon Update. Type incompatible, çà veut donc dire on peut avoir d'autres valeurs que OUI et NON!

  11. #11
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Oui, il y a 3 valeurs dans Access (voir dans Office...) -1, 0 et non defini.
    Tu peux t'en appercevoir quand tu ne mets pas de valeur par défaut pour ta case à cocher. Elle est grisée.
    Par contre, je ne sais pas quelle est sa valeur à ce moment (null??)

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  12. #12
    Membre éclairé Avatar de pmboutteau
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    601
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Février 2005
    Messages : 601
    Par défaut
    çà y est j'ai trouvé!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if data4="OUI" Then
    		peint=-1
    	else
    		if data4="NON" Then
    			peint=1
    		else
    			peint=0
    		End if
    	End if
    là çà marche! 8)

  13. #13
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    En fait, c'est un YES/NO/PERHAPS
    "Winter is coming" (ma nouvelle page d'accueil)

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

Discussions similaires

  1. recuperation valeur menu déroulant
    Par jerome1 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/06/2005, 11h39
  2. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33
  3. Dimensions d'un Menu déroulant
    Par polo-j dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/02/2005, 14h26
  4. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 16h31
  5. Menu déroulant suite au passage sur un TMenuItem
    Par James_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/05/2004, 14h31

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