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 :

php remontee d'info selon select name


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 412
    Par défaut php remontee d'info selon select name
    Bonjour à tous,

    Voici mon souci et je ne sais pas du tout comment le resoudre car tant j'y arrivais sous acces mais en php oulala

    voila : j'ai fait une page php avec deux champs

    un select name dont 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
     
     
            <td><div align="center"><span class="zone_texte">
              <select name="NomTble1_1" id="NomTble1_1" style="width:210px;">
                <option value=" "> </option>
                <?php
    					mysql_connect("*****", "******", "*******");
    					mysql_select_db("*********");
    					$reponse = mysql_query("SELECT NP FROM TableSteBarbe ORDER BY NP ASC");
    					while ($donnees = mysql_fetch_array($reponse) )
    					{?>
                <option value="<?php echo $donnees['NP']; ?>"><?php echo $donnees['NP']; ?></option>
                <?php } ?>
              </select>
            </span></div></td>
    lui fonctionne très bien mais quand je sélectionne dans la liste un choix,
    j'aimerai qu'il remonte dans le second champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <input type="text" name="NbreTble1_1" id="NbreTble1_1" size="3" maxlength="255" style="text-transform: capitalize;" required="required"/>
    la donnée qui va avec de la même base même table mais de la colonne "Nbre"

    pourriez vous m'aider
    s'il vous plait

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    1) les extensions mysql_ sont obsolètes ; passez à mysqli_ ou PDO.

    2) Si j'ai bien compris, vous cherchez à modifier la valeur d'un contrôle de votre page en fonction de la valeur choisie par l'utilisateur dans une liste déroulante ?
    Si c'est ça, il faut utiliser Ajax.
    Regardez mon billet de blog consacré aux listes liées avec URL rewriting. Le principe de base est le même si vous n'avez pas de réécriture d'URL.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 412
    Par défaut
    Après lecture de votre post, je ne pense pas que ce soit exactement ce que je cherche

    Voici ma 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
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
     
    <?php
    header( 'content-type: text/html; charset=utf-8' );
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <html lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Plan de tables</title>
    <style type="text/css">
     
     
    .Style1 {font-size: larger}
    body {
    	background-color: #FFFFFF;
    }
    select {
    width : 250px ;
    }
    .Style2 {
    	color: #FFFFFF;
    	font-weight: bold;
    	font-size: 24px;
    }
    </style>
     
     
    </head>
     
     
    <body>
    <p><br />
    </p>
    <form method="post" action="../Sainte_Barbe/ajoutdonneesSteBarbe.php">
      <div align="center"></div>
      <br/>
    <div align="center">
    <table width="852" border="1" align="center">
          <tr>
            <td bgcolor="#FFFF99"><div align="center"><strong>Liste N° 1</strong></div></td>
            <td bgcolor="#FFFF99"><div align="center"><strong>Nbre</strong></div></td>
        </tr>
          <tr>
            <td><div align="center"><span class="zone_texte">
              <select name="NomTble1_1" id="NomTble1_1" style="width:210px;">
                <option value=" "> </option>
                <?php
    					mysql_connect("xxxxxx", "xxxxxxx", "xxxxxxx");
    					mysql_select_db("amica535671_55wglt");
    					$reponse = mysql_query("SELECT NP FROM TableSteBarbe ORDER BY NP ASC");
    					while ($donnees = mysql_fetch_array($reponse) )
    					{?>
                <option value="<?php echo $donnees['NP']; ?>"><?php echo $donnees['NP']; ?></option>
                <?php } ?>
              </select>
            </span></div></td>
            <td><div align="center"><span class="zone_texte">
              <input type="text" name="NbreTble1_1" id="NbreTble1_1" size="3" maxlength="255" style="text-transform: capitalize;" required="required"/>
            </span></div></td>
          </tr>
        </table>
    <br/>
    <br/>
     <br/>
      <br/>
      <p>&nbsp;</p>
        <p><br/>
        </p>
        <p align="center"><br/>
          <br/>
      </p>
    <br />
    <br />
    <br />
    <br />
    </p>
    <div align="center"></div>
      <div align="center">
        <input type="submit" value="Valider" />
        <input type="reset" value="Recommencer" />
      </div>
    </form>
     
     
    </body>
    </html>
    voila donc

    le select name est alimenté par une table "TableSteBarbe"

    cette même table à une colonne Nbre

    exemple :

    NP Nbre
    Toto 2
    Titi 4
    Lolo 1

    voilà ce que j'aimerai c'est quand dans ma page sur le select name je sélectionne

    Titi
    alors dans le champs NbreTble1_1 l'information de la table "TableSteBarbe" colonne Nbre corespondant a Titi soit "4" s'affiche.
    idem si on choisi Lolo etc

    en espérant avoir été suffisamment clair

    merci a vous

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Ça se passe côté client : il faut utiliser JavaScript
    Et si tu veux communiquer avec PHP, il faut Ajax.

    "listes liées Ajax"

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    La question que tu dois te poser, c'est d'où vient la donnée à afficher à partir de la sélection dans la liste ? Si tu dois faire une requête sur la base de donnée pour la récupérer, il faut faire un appel AJAX à un script PHP, ce qui est exactement ce que fait le code de CinePhil.
    La différence entre son code et ce dont tu as besoin, c'est qu'au lieu de construire un select/option, tu as juste besoin de renvoyer la valeur.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu as exactement la même problématique dans cette discussion : "Liste et champs liés"

    Et je propose une solution ici, en JavaScript SANS Ajax.

    L'astuce consiste à ajouter un attribut "data" ("data-nbre" par exemple) aux options du select, contenant (dans ton cas) le Nbre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
              <select name="NomTble1_1" id="NomTble1_1" style="width:210px;" onchange="setinputNbre(this.id, 'NbreTble1_1')">
                <option value=" "> </option>
                <?php
    					mysql_connect("xxxxxx", "xxxxxxx", "xxxxxxx");
    					mysql_select_db("amica535671_55wglt");
    					$reponse = mysql_query("SELECT NP, Nbre FROM TableSteBarbe ORDER BY NP ASC"); // ajouter Nbre dans la requete !
    					while ($donnees = mysql_fetch_array($reponse) )
    					{?>
                <option value="<?php echo $donnees['NP']; ?>" data-nbre="<?php echo $donnees['Nbre']; ?>"><?php echo $donnees['NP']; ?></option>
                <?php } ?>
              </select>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="NbreTble1_1" id="NbreTble1_1" size="3" maxlength="255" style="text-transform: capitalize;" required="required"/>
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function setinputNbre(select_id, input_id)
    {
    	var sel = document.getElementById(select_id);
    	var sel_attr = sel.options[sel.selectedIndex].dataset.nbre; // on récupère le data-nbre de l'option sélectionnée...
    	document.getElementById(input_id).value = sel_attr; // input-> value
    }

Discussions similaires

  1. PHP et select name dynamique
    Par rvm31 dans le forum Langage
    Réponses: 1
    Dernier message: 21/11/2011, 22h49
  2. [<select name=...>]Dynamique depuis MySQL
    Par Jean_Benoit dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/05/2006, 11h50
  3. [PHP-JS] controler la nom selection de 2 check box
    Par amarcil dans le forum Langage
    Réponses: 10
    Dernier message: 07/04/2006, 20h27
  4. [form][php] Retour d'info
    Par phantasie71 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 02/03/2006, 16h48
  5. [mysql - php] plusieurs tables pour un select ORDER BY
    Par sanosuke85 dans le forum Requêtes
    Réponses: 9
    Dernier message: 06/12/2005, 19h25

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