Interaction liste déroulante et champ text

Résolu/Fermé
Mariana - 20 mars 2010 à 16:33
 Mariana - 22 mars 2010 à 16:47
Bonsoir,

Je suis débutante en php!!

* J'ai un table code_postal contenant les champ id,code_postl, ville.
*J'ai alimenté une liste déroulante par les nom des villes de cette table et je veux bien que dans le champ text le code_postal associé à cette ville s'affiche automatiquement et change de valeur à chaque changement de la valeur de la liste.

Je souhaite bien que quelq'un a un code!!!

Merci d'avance

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
20 mars 2010 à 18:55
<tr>

<td width="119" nowrap="nowrap" ><span class="Style16"> Ville:</span></td>
<td width="175">
<?php

//connection
include("connexion.php");
//requet de selection
$req=mysql_query("select * from code_postal");
?>
<select name="ville" id="ville" onchange="document.getElementById('code_postal_societe').value = this.value;" >
<option>---</option>
<?php
while($row=mysql_fetch_object($req))
{
echo '<option value="'.$row->code_postal.'">'.$row->ville.'</option>'; //il faut mettre le champ code_postal en value
}
?>
</select></td>
//jusqu'à ici j'ai rempli la liste des villes

//la partie ci dessous est pour afficher le code postal dans un champ text

<td width="164" height="24" nowrap="nowrap" bordercolor="#CCE6FF" bgcolor="#CCE6FF" ><span class="Style16">Code Postal:</span></td>
<td>


<input type="text" name="code_postal_societe" id="code_postal_societe" /> </td>
1
Oui Merci , ça marche bien!!!!!!!!!!
Comme je suis bête!!!!!!!!!!!!!!
Merci infiniment,
0
J'ai un autre problème maintenant!!
Lorsque j'ajoute dans la base c'est la valeur du code postal qui est enregistré dans la colonne ville_societe et non pas le nom de la ville c'est dû à ça

echo '<option value="'.$row->code_postal.'">'.$row->ville.'</option>'; //il faut mettre le champ code_postal en value

J'ai ajouté les lignes suivantes dans la page insertion_societe.php:

include("connexion.php");
$ville1=mysql_query("select ville from code_postal where code_postal='".$code_postal."'");
insert into societe(ville_societe,code_postal_societe) values(' $ville1',' ".$code_postal." ');

maintenant la colonne ville_societe contient Resource id #3

Je ne sais pas corriger,
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
20 mars 2010 à 16:38
<?php
$pdo = new PDO('mysql:host=localhost;dbname=tabase', 'root', '');
$sql = 'SELECT * FROM code_postal';
$req = $pdo->query($sql);
$req->setFetchMode(PDO::FETCH_OBJ);

echo '<select name="villes" onchange="document.getElementById(\'codepostal\').value = this.value;">'."\n";
while($data = $req->fetch()) {
    echo '<option value="'.$data->code_postal.'">'.$data->ville.'</option>'."\n";
}
echo '</select>';
$req->closeCursor();
?><input type="text" name="codepostal" id="codepostal" /> 
0
JeMerci pour votre aide. Je n'ai pas pu adapter le code que vous m'avez donnée sur mon code voici c'est ce que j'ai écrit. Je suis un grand Zéro en php

<tr>

<td width="119" nowrap="nowrap" ><span class="Style16"> Ville:</span></td>
<td width="175">
<?php

//connection
include("connexion.php");
//requet de selection
$req=mysql_query("select * from code_postal");
?>
<select name="ville" id="ville" onchange="document.getElementById(\'code_postal_societe\').value = this.value;" >
<option>---</option>
<?php
while($row=mysql_fetch_object($req))
{
echo '<option value="'.$row->ville.'">'.$row->ville.'</option>';
}
?>
</select></td>
//jusqu'à ici j'ai rempli la liste des villes

//la partie ci dessous est pour afficher le code postal dans un champ text

<td width="164" height="24" nowrap="nowrap" bordercolor="#CCE6FF" bgcolor="#CCE6FF" ><span class="Style16">Code Postal:</span></td>
<td>


<input type="text" name="code_postal_societe" id="code_postal_societe" /> </td> // surement il manque quelques choses ici


Aidez moi s'il vous plaîtttttttt!!!!!

Merci infiniment,,,
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
20 mars 2010 à 19:32
Tu n'as que cette ligne à modifier :
$pdo = new PDO('mysql:host=localhost;dbname=tabase', 'root', '');

localhost = ton hôte MySQL
tabase = nom de ta base de données
root = ton nom d'utilisateur
vide = ton mot de passe
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
21 mars 2010 à 19:26
//il faut extraire la donnee par un mysql_fetch....  mysql_query ne suffit pas
include("connexion.php");
$result=mysql_query("SELECT ville FROM code_postal WHERE code_postal='".$code_postal."'");
$donnee=mysql_fetch_assoc($result);
$ville1=$donnee['ville'];

mysql_query("INSERT INTO societe(ville_societe,code_postal_societe) VALUES(' $ville1',' ".$code_postal." ')"); 
0
Merci bien pour votre aide!!!! Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
ça marche très bien!!
Merci encore!!
0
Sil vous plaît, j'ai posé ma question depuis des heures et personne ne m'a répondu.
Je souhiate bien que vous me répondriez!!

voici mon problème:Maintenant je veux manipuler l'interaction entre plusieurs champs text et non pas une liste et champ:

Je veux dès que je remplis un champ text un autre champ sera remplit d'une table de la base.

voici mon essai:

<fieldset class="Style7">
<br>
Expediteur:
<input type="text" name="nom_exp" id="nom_exp" onchange="????????????????"/>
<br />
Code:
include("connexion.php");
$req=mysql_query("select code_dest_exp from destinataire_expediteur where nom_dest_exp='".$nom_exp."'");
$donnee=mysql_fetch_assoc($req);
$code=$donnee['code_dest_exp'];
echo'<input type="text" name="code_exp" id="code_exp" value=$code />';?> //????????
</label>
</fieldset>


Aidez moi s'il vous plaît
0