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

PHP & Base de données Discussion :

liste déroulante + MAJ de la BDD [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut liste déroulante + MAJ de la BDD
    Bonjour à tous,
    voila mon premier code qui marche, donc c'est avec des "radios"
    avec ce code je peux modifier le champs dans ma base.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <tr>
    <td><b>Champs</b></td>
    <td>
    <form>
    <select name="champs" value="champs">
    <option value ="" <?php if ($change['champs']=="") echo "selected"; ?>>---</option>
    <option value ="groupé" <?php if ($change['champs']=="groupé") echo "selected"; ?>>Individuel groupé</option>
    <option value ="isolé" <?php if ($change['champs']=="isolé") echo "selected"; ?>>isolé</option>
    </select>
    </form>
    </td>
    </tr>

    là je veux utiliser une liste déroulante mais ça met pas à jour ma base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <tr>
    <td><b>champs</b></td>
    <td>
    <form>
    <select>
    <option value ="" <?php if ($change['champs']=="") echo "selected"; ?>>---</option>
    <option value ="groupé" <?php if ($change['champs']=="groupé") echo "selected"; ?>>groupé</option>
    <option value ="isolé" <?php if ($change['champs']=="isolé") echo "selected"; ?>>isolé</option>
    </select>
    </form>
    </td>
    </tr>
    merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton deuxieme select n'a pas de "name"
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    merci de ta réponse
    mais j'avais déjà essayer avec le "name"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <tr>
    <td><b>champs</b></td>
    <td>
    <form>
    <select name="champs">
    <option value ="" <?php if ($change['champs']=="") echo "selected"; ?>>---</option>
    <option value ="groupé" <?php if ($change['champs']=="groupé") echo "selected"; ?>>groupé</option>
    <option value ="isolé" <?php if ($change['champs']=="isolé") echo "selected"; ?>>isolé</option>
    </select>
    </form>
    </td>
    </tr>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    et le code qui met a jour la base ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    Salut,

    et le code permettant la mise à jour dans la db?

  6. #6
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    voilà mon code qui permet de mettre à jour la BD.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
     
    include"config.php";
    $db = mysql_connect($serveur, $login, $password); 
    mysql_select_db($base,$db);
     
    $ID = $HTTP_POST_VARS['ID'];
    $champs= $HTTP_POST_VARS['champs'];
    $query = "UPDATE matable SET champs='$champs' WHERE ID='$ID'";
     
    $result = mysql_query($query) or die(mysql_error());
     
    ?>

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je ne vois pas de "ID" dans ton formulaire.

    Sinon depuis PHP 4.1 on n'utilise plus $HTTP_POST_VARS mais $_POST
    et on ne met pas dans un requete SQL de données provenant directement d'un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $champs= mysql_real_escape_string($_POST['champs']);
    $ID = intval($_POST['ID']);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    Bonjour, merci pour vos réponses.
    je ne comprend pas d'ou vient l'erreur. je n'arrive pas toujours à récupérer la valeur qui a été sélectionner dans ma liste déroulante.
    du coup j'expose tout 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
    <?
     
    include("config.php");
    // pour importer le bon ID 
    import_request_variables("G","recu_");
     
    $db = mysql_connect($serveur, $login, $password); 
    mysql_select_db($base,$db);  
    //je recherche les données de la base membre 
    $sql = "SELECT * FROM batiment WHERE ID = '$recu_ID'";
    $resultat = mysql_query ($sql);
    $change = mysql_fetch_array ($resultat);
    mysql_close($db);
     
     
      if($change['TYPL']==1){ 
        echo '
          <tr>
            <td><b>Type </b></td>
            <td>
              <form method="post" action="">
                 <select name="typl_mi">
                   <option value=""'.(($change['typl_mi']=="")?' selected="selected"':'').'>---</option>
                   <option value="Individuel groupé"'.(($change['typl_mi']=="Individuel groupé")?' selected="selected"':'').'>Individuel groupé</option>
                   <option value="Individuel isolé"'.(($change['typl_mi']=="Individuel isolé")?' selected="selected"':'').'>Individuel isolé</option>
                 </select>
               </form>
             </td>
           </tr>';
     }
    ?>
    <form ACTION="valider.php"><input type="submit" class="bouton"  value="Valider"></form>
    le fichier valider.php
    avec ce code je ne récupère ni ID ni l'autre valeur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    include"config.php";
    $db = mysql_connect($serveur, $login, $password); 
    mysql_select_db($base,$db);
     
    $ID = intval($_POST['ID']);
    $typl_mi=mysql_real_escape_string($_POST['typl_mi']);
     
    //execution de la requete
    $query = "UPDATE batiment SET typl_mi='$typl_mi' WHERE ID='$ID'";
    $result = mysql_query($query) or die(mysql_error());
    ?>
    merci de votre aide.

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ou est le champ de formulaire "ID" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Par défaut
    pour que tu recoivent un $_POST['ID'] dans ton fichier "Valider.php" , tu dois au préalable avoir un "élément graphique" avec l'attribut "name='ID'" sinon tu ne recevra rien ...


    et tu aurai pu faire un seul formulaire parqu'en faire 2 dont un avec un bouton ca sert pas a grand chose ....

    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
    <?
     
    include("config.php");
    // pour importer le bon ID 
    import_request_variables("G","recu_");
     
    $db = mysql_connect($serveur, $login, $password); 
    mysql_select_db($base,$db);  
    //je recherche les données de la base membre 
    $sql = "SELECT * FROM batiment WHERE ID = '$recu_ID'";
    $resultat = mysql_query ($sql);
    $change = mysql_fetch_array ($resultat);
    mysql_close($db);
     
     
      if($change['TYPL']==1){ 
        echo '
          <tr>
            <td><b>Type </b></td>
            <td>
              <form method="post" action="valider.php?ID=".$recu_ID>
                 <select name="typl_mi">
                   <option value=""'.(($change['typl_mi']=="")?' selected="selected"':'').'>---</option>
                   <option value="Individuel groupé"'.(($change['typl_mi']=="Individuel groupé")?' selected="selected"':'').'>Individuel groupé</option>
                   <option value="Individuel isolé"'.(($change['typl_mi']=="Individuel isolé")?' selected="selected"':'').'>Individuel isolé</option>
                   <form ACTION=""><input type="submit" class="bouton"  value="Valider"></form>
                 </select>
               </form>
             </td>
           </tr>';
     }
    ?>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
     
    include"config.php";
    $db = mysql_connect($serveur, $login, $password); 
    mysql_select_db($base,$db);
     
    $ID = intval($_GET['ID']);
    $typl_mi=mysql_real_escape_string($_POST['typl_mi']);
     
    //execution de la requete
    $query = "UPDATE batiment SET typl_mi='$typl_mi' WHERE ID='$ID'";
    $result = mysql_query($query) or die(mysql_error());
    ?>
    après je sais pas si j'ai bien saisie la chose mais ton ID tu va le chercher ou ? dans la variable $recu_ID ?

  11. #11
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    le ID je le déclare comme ça mais je l'affiche pas.
    je ne sais pas si c'est la bonne méthode !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input name="ID" type= "hidden" type="text"   value="<?php echo $change['ID']; ?>"></td>

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ou est cette ligne dans ton code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    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
    <table class="titre1" border CELLSPACING=0> 		
    <tr>
    <td><b>DESCRIPTION GENERALE </b></td>
    <td><input name="ID" type= "hidden" type="text"   value="<?php echo $change['ID']; ?>"></td>
    </tr>
     
    <?php 
      if($change['TYPL']==1){ 
        echo '
          <tr>
            <td><b>Type </b></td>
            <td>
              <form method="POST" action="valider.php">
                 <select name="typl_mi[]">
                   <option value=""'.(($change['typl_mi']=="")?' selected="selected"':'').'>---</option>
                   <option value="Individuel groupé"'.(($change['typl_mi']=="Individuel groupé")?' selected="selected"':'').'>Individuel groupé</option>
                   <option value="Individuel isolé"'.(($change['typl_mi']=="Individuel isolé")?' selected="selected"':'').'>Individuel isolé</option>
                 </select>
               </form>
             </td>
           </tr>';
     }
    ?>
    </table>
    </center>
    <tr valign="middle">
    <td colspan="2">
    <div align="center">
     
    </div></td>
    </tr>
    <tr valign="middle">
    <td colspan="2"><div align="center">	
    <form method="post" ACTION="valider.php"><input type="submit" class="bouton"  value="Valider"></form>
     
    <form ACTION="fichemembre.php"><input type="submit" class="bouton"  value="Retour Espace membre"> </form>
    </div></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>

  14. #14
    Membre confirmé
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Par défaut
    bonsoir,
    je réexplique mon problème:
    le code que j'ai exposé précédemment c'est un code qui permet de récupérer une valeur dans la BD, et qui sélectionne la bonne valeur dans ma liste déroulante,
    jusqu'à là il ya pas de souci.
    donc c'est après que je veuille modifier ma valeur et que le code que j'ai mis ne prend pas de valeur pour la changer dans la BD.

    merci par avance de votre aide.

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le champ "ID" dans le code que tu nous as montré est en dehors du formulaire, tu ne recuperes donc pas de $_POST['ID']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. [MySQL] Liste déroulante provenant de la bdd
    Par ann10 dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 11/06/2015, 12h34
  2. Réponses: 4
    Dernier message: 28/12/2009, 15h37
  3. [DOM] vider une liste déroulante et encodage sur bdd
    Par comcom94 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 04/11/2008, 09h25
  4. Maj à jour liste déroulante
    Par zebi42 dans le forum Access
    Réponses: 13
    Dernier message: 26/01/2007, 17h03
  5. Liste déroulante imbriquée importée depuis une Bdd
    Par WhyMee dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 07/08/2006, 16h48

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