Eh oui, 4h du matin et je cherche toujours, çà me tracasse de ne pas trouver.
Alors, par élimination, je pense que le soucis concerne le chargement de la deuxième liste Villes.
$ma_req = "SELECT * FROM bdd_villes WHERE id_pays = '".$pays."';";
Le WHERE devrait associer les deux listes par les ID des deux tables,
hors là je vois deux tables identiques : id_pays = '".$pays."
Je suis très débutant, mais je pense le code suivant serait mieux :
$ma_req = "SELECT * FROM bdd_villes WHERE id_villes = '".$pays."';";
En tout cas, maintenant, la deuxième liste se charge correctement, et chaque Pays envoi bien les bonnes Villes.
...çà avance !
Du coup j'ai commencé à ajouter un champ supplémentaire population_villes et que la Ville sélectionnée renvoie dans le champ la population correspondante enregistrée dans la bdd_villes. J'ai pensé ajouter un deuxième function modifcombo() , mais je bloque maintenant sur le script du modifcombo.
Je veux bien un peu d'aide svp.
Je mets le dernier code ci-dessous.
Cordialement,
Stéphane.
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 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
| <!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="css/Style.css" rel="stylesheet" type="text/css" />
<?php // connection à la DB
include("connection.php"); ?>
<script type="text/javascript">
function modifcombo(){
var idpays = document.form1.selectpays.value;
document.location.replace("essai3.php?pays=" + idpays );
}
function modifcombo1(){
var idvilles = document.form1.selectvilles.value;
document.location.replace("essai3.php?villes=" + idvilles );
}
</script>
</head>
<body>
<?php
// initialisation/recuperation de la selection pays
if (isset($_GET['pays'])){
$pays = $_GET['pays'];
} elseif (isset($_POST['selectpays'])){
$pays = $_POST['selectpays'];
} else {
$pays = '';
}
// villes
if (isset($_POST['selectvilles'])){
$villes = $_POST['selectvilles'];
} else {
$villes = '';
}
// Champ_essai_ville
if (isset($_POST['selectpopulation_villes'])){
$population_villes = $_POST['selectpopulation_villes'];
} else {
$population_villes = '';
}
?>
<p>Essai formulaire</p>
<form name="form1" method="post" action="">
<table width="100%" border="1">
<tr>
<td>pays :</td>
<td>
<select id="idselectpays" name="selectpays" class="txt16-000000" onChange="javascript: modifcombo();">
<option value="">...</option><!-- Valeur vide pour forcer l'utilisateur a selectionner -->
<?php // Execution requete : tous les pays
$ma_req = "SELECT * FROM bdd_pays;";
$res_req = mysql_query($ma_req) or die("Selection table \"pays\" impossible");
// Affectation des variables utilisees pour l'affichage
if (mysql_num_rows($res_req)!=0) { // resultat non vide
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_pays = $une_ligne["id_pays"];
$nom_pays = $une_ligne["nom_pays"];
$sel_pays = ($id_pays == $pays)? ' selected="selected"' : ''; // option selectionnee ? oui : non
?>
<option value="<?php echo $id_pays; ?>"<?php echo $sel_pays; ?>><?php echo $nom_pays; ?></option>
<?php } // fin while
} // fin if
?>
</select>
</td>
</tr>
<tr>
<td>villes :</td>
<td>
<select id="idselectvilles" name="selectvilles" class="txt16-000000" onChange="javascript: modifcombo1();">
<option value="">...</option><!-- Valeur vide pour forcer l'utilisateur a selectionner -->
<?php // Execution requete : les villes de ce pays (selectionné)
$ma_req = "SELECT * FROM bdd_villes WHERE id_villes = '".$pays."';";
$res_req = mysql_query($ma_req) or die("Selection table \"villes\" impossible");
// Affectation des variables utilis?es pour l'affichage
if (mysql_num_rows($res_req)!=0) // resultat non vide
{
while ($une_ligne = mysql_fetch_array($res_req)) {
$id_villes = $une_ligne["id_villes"];
$nom_villes = $une_ligne["nom_villes"];
$population_villes = $une_ligne["population_villes"];
$sel_villes = ($id_villes == $villes)? ' selected="selected"' : ''; // option selectionnee ? oui : non
?>
<option value="<?php echo $id_villes; ?>"<?php echo $sel_villes; ?>><?php echo $nom_villes; ?></option>
<?php } // fin while
} // fin if
?>
</select>
</td>
</tr>
<tr>
<td><input type="text" size="20" name="selectpopulation_villes" value="<?php echo $population_villes; ?>" /></td>
<td colspan="2"><input type="submit" name="envoiformulaire" value="envoyer" /></td>
</tr>
</table>
</form>
</body>
</html> |
Partager