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 :

Mettre à jour ma table Deals selon le checkbox


Sujet :

ASP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut Mettre à jour ma table Deals selon le checkbox
    salut, j'ai essayé de vous envoyer l'image .png de mon application pour que vous compreniez mieux ce que je veux faire

    l'utilisateur sélectionne et dé-sélectionnes tout ce qu'il veux puis il clique sur l'un des trois boutons(activer OU désactiver OU supprimer )

    au chargement de la page il y a la requette qui renvoie le résultat, je l'ai mis dans mon tableau selon l'ordre demandé... puis y a la Colonne CHOISIR qui contient un Checkbox que j'ai crée en boucle avec le même NOM ET le MÊME ID, si le champs ("actif_deal")=1 alors la case est coché, sinon la case est décocher et tout va bien pour l'instant...

    ce que je veux faire c'est : le moment ou l'utilisateur appuie sur Activer la je dois vérifier les checkbox qui sont cochés puis envoyer une requette UPDATE dans la table deals pour les mettre a jour. j’espère que j'étais bien claire et merci d'avance
    Images attachées Images attachées  

  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,

    Pour faire ce genre de truc, je procède comme ça :

    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
     
    <form name="form1" method="post" action="Maj.asp">
    <%
    Compteur = 1
    do while not rs.eof
       %>
       .....
       <input type="checkbox" name="chkEtat<%=Compteur%>">
       .....
       <%
       rs.movenext
    loop
    %>
    <input type="hidden" name="NbLignes" value="<%=Compteur - 1%>">
    .....
    Et la page Maj.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
     
    NbLignes = Request.Form("NbLignes")
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open (Application("DsnODBC"))
    for i = 1 to NbLignes
    	if uCase(Request.Form("chkEtat" & i)) = "ON" then
    		sql = ""
    		sql = sql & "update MaTable "
    		sql = sql & "set Etat = 'D' " 
    		sql = sql & "where .........
    		Conn.Execute (sql)
    	end if
    Next
    Conn.close
    set Conn = nothing

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    le problème c'est que le checkbox n'est pas dans une forme, il est crée en boucle ASP voila le code :


    Code asp : 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
    Set RS = server.createobject("ADODB.Recordset")
    set RSCheck=server.CreateObject("ADODB.Recordset")
    SQL="SELECT distinct top "&(Ndeb+Nmax)&" date_deal,actif_deal,Marge_Deal,titre_prod,Ref_prod,deals.codeconst_prod,PrixTTC_Prod FROM deals,produits"&SQL2&"order by deals.date_deal desc"
    RS.Open SQL,Conection ,3,3,1
     
    if rs.recordcount>0 then
    ' Avance à la 1ère
    RS.Move(Ndeb)
    ' tant qu'il reste des fiches
    'actif=true
    do while not RS.eof
     
    sqlCheck="Select distinct actif_deal from deals where deals.codeconst_prod='"&rs("codeconst_prod")&"' and date_deal=convert(smalldatetime,'"&rs("date_deal")&"',103)"
    RSCheck.open sqlCheck,conection,3,3,1
    if rsCheck("actif_deal")=0  then
    'affiche le champ
       response.write "<tr><td><th class='maclasse'><input type='checkbox' name='Etat' onclick='Tester();'/></th></td><td><th class='maclasse'>Statut</th></td><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("date_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&rs("actif_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("marge_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("Titre_Prod")&"</th></TD><TD class='maclasse' Width =90><th class='maclasse'>"&RS("Ref_Prod")&"</th></TD><TD class=maclasse Width = 350><th class='maclasse'>"&RS("codeconst_prod")&"</th></TD><td class='maclasse' width=90><th class='maclasse'>"&RS("PrixTTC_Prod")&"</th></td><TD class='maclasse' width =50><th class='maclasse'><a href='ajouter_deal.asp?code="&RS("codeconst_prod")&"><img src='bas-icone-6618-48.png'/></a></th></TD></TR>"
    ELSE
    'rsCheck.movefirst
    response.write "<tr><td><th class='maclasse'><input type='checkbox' checked='Checked' name='Etat' onclick='Tester();'/></th></td><td><th class='maclasse'>Statut</th></td><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("date_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&rs("actif_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("marge_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("Titre_Prod")&"</th></TD><TD class='maclasse' Width =90><th class='maclasse'>"&RS("Ref_Prod")&"</th></TD><TD class=maclasse Width = 350><th class='maclasse'>"&RS("codeconst_prod")&"</th></TD><td class='maclasse' width=90><th class='maclasse'>"&RS("PrixTTC_Prod")&"</th></td><TD class='maclasse' width =50><th class='maclasse'><a href='ajouter_deal.asp?code="&RS("codeconst_prod")&"><img src='bas-icone-6618-48.png'/></a></th></TD></TR>"
      'rsCheck.movenext
      end if
    RS.MOVENEXT
    rsCheck.close
    loop
    [/CODE]

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    je ne trouves pas le moyen avec ASP pour savoir si la case à coché est sélectionné ou pas

    j'ai pensé de crée une fonction java-script qui m'indique ça en passant par L'ID bien sûr ! et ça fonctionne (java-script) il reconnait bien mon checkbox même si la case n'appartient pas a une forme

    moi je cherche a savoir si la case est coché ou non avec ASP, voila

    une idée peut être SVP??

  5. #5
    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
    Re,

    Citation Envoyé par ToufBen Voir le message
    le problème c'est que le checkbox n'est pas dans une forme, il est crée en boucle ASP
    Et qu'est ce qui t'empêche de faire comme ça ?

    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
     
    .....
    <form name="form1" method="post" action="Maj.asp">
    <%
    Set RS = server.createobject("ADODB.Recordset")
    set RSCheck=server.CreateObject("ADODB.Recordset")
    SQL="SELECT distinct top "&(Ndeb+Nmax)&" date_deal,actif_deal,Marge_Deal,titre_prod,Ref_prod,deals.codeconst_prod,PrixTTC_Prod FROM deals,produits"&SQL2&"order by deals.date_deal desc"
    RS.Open SQL,Conection ,3,3,1
     
    if rs.recordcount>0 then
    ' Avance à la 1ère
    RS.Move(Ndeb)
    ' tant qu'il reste des fiches
    'actif=true
    Compteur = 1
    do while not RS.eof
     
    sqlCheck="Select distinct actif_deal from deals where deals.codeconst_prod='"&rs("codeconst_prod")&"' and date_deal=convert(smalldatetime,'"&rs("date_deal")&"',103)"
    RSCheck.open sqlCheck,conection,3,3,1
    if rsCheck("actif_deal")=0  then
    'affiche le champ
        response.write "<tr><td><th class='maclasse'><input type='checkbox' name='Etat<%=Compteur%>' onclick='Tester();'/></th></td><td><th class='maclasse'>Statut</th></td><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("date_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&rs("actif_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("marge_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("Titre_Prod")&"</th></TD><TD class='maclasse' Width =90><th class='maclasse'>"&RS("Ref_Prod")&"</th></TD><TD class=maclasse Width = 350><th class='maclasse'>"&RS("codeconst_prod")&"</th></TD><td class='maclasse' width=90><th class='maclasse'>"&RS("PrixTTC_Prod")&"</th></td><TD class='maclasse' width =50><th class='maclasse'><a href='ajouter_deal.asp?code="&RS("codeconst_prod")&"><img src='bas-icone-6618-48.png'/></a></th></TD></TR>"
    ELSE
        response.write "<tr><td><th class='maclasse'><input type='checkbox' checked='Checked' name='Etat<%=Compteur%>' onclick='Tester();'/></th></td><td><th class='maclasse'>Statut</th></td><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("date_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&rs("actif_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("marge_deal")&"</th></TD><TD class='maclasse' Width = 50 ><th class='maclasse'>"&RS("Titre_Prod")&"</th></TD><TD class='maclasse' Width =90><th class='maclasse'>"&RS("Ref_Prod")&"</th></TD><TD class=maclasse Width = 350><th class='maclasse'>"&RS("codeconst_prod")&"</th></TD><td class='maclasse' width=90><th class='maclasse'>"&RS("PrixTTC_Prod")&"</th></td><TD class='maclasse' width =50><th class='maclasse'><a href='ajouter_deal.asp?code="&RS("codeconst_prod")&"><img src='bas-icone-6618-48.png'/></a></th></TD></TR>"
    end if
      RS.MOVENEXT
    rsCheck.close
    loop
    %>
    <input type="hidden" name="NbLignes" value="<%=Compteur - 1%>">
    .....
    </form>

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2012
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 47
    Par défaut
    ça fait des jours et des heures que j''essaie de le faire et ça ne marche pas !!!


  7. #7
    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
    Il manque effectivement l'incrémentation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ...
      RS.MOVENEXT
    Compteur = Compteur + 1
    rsCheck.close
    loop
    ...
    Apparemment, tu envoies les données en GET ; Il faut les transmettre en POST

    PS : Ton lien ne peut pas fonctionner ici, car il fait référence à ton PC. Il faudrait voir le code de tes deux pages.

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

Discussions similaires

  1. Mettre à jour des tables avec un trigger
    Par Titouf dans le forum Langage SQL
    Réponses: 9
    Dernier message: 20/01/2008, 16h57
  2. mettre à jour une table à l'aide de JSP et Hibernate
    Par kacemotti dans le forum Hibernate
    Réponses: 1
    Dernier message: 13/05/2006, 14h55
  3. Réponses: 1
    Dernier message: 23/01/2006, 19h53
  4. Prb mettre à jour une table via un fichier excel
    Par antier dans le forum Access
    Réponses: 3
    Dernier message: 02/12/2005, 11h31
  5. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 11h08

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