Problemeavec les balises select

Fermé
bayebou - 20 août 2014 à 15:40
 Utilisateur anonyme - 20 août 2014 à 17:24
Bonjour, merci de votre aide ça m'a fait venir jusqu'ici. Mais le probléme en ait que quand je sélectionne dans le premier <select>, ça actualise la page. Alors que ça devrait afficher les informations de la valeur sélectionnée dans l'autre <select> sans que la page s'actualise.
Voici le code :

<?php
if (isset($_POST['id_zone'])) {
//si la liste a été "postée" c'est à dire choix fait
$id_zone = $_POST['id_zone'];
} else {
$id_zone = 1;
}
?>


<div class="formcompte hide">
<form class="form-horizontal" name="liste1" action="index.php" method="post">
<div class="">
<i class="icon-glass icon-white"></i>
<select name="id_zone" class="input-large" onchange=" liste1.submit();">
<?php
$connection = mysql_connect('localhost', 'root', '');
$base = mysql_select_db('bdactunavetane');

$requete = "SELECT id_zone,nom_zone FROM zone";
$execution_requete = mysql_query($requete);
while ($total = mysql_fetch_array($execution_requete)) {
echo "<option value=\"" . $total["id_zone"] . "\"";
if ($id_zone == $total['id_zone']) {
echo "selected";
}//ça c'est pour garder la selection lors du réaffichage
echo ">" . $total['nom_zone'] . "</option>\n";
}
?>
</select>
</div>
<div class="">
<i class="icon-glass icon-white"></i>
<?php
if ($id_zone != 0) {
$requete = "SELECT id_equipe,nom_equipe FROM equipe WHERE id_zone='" . $id_zone . "'";
$execution_requete = mysql_query($requete);
?>
<select name = "nom_equipe" class="input-large" onchange = "liste1">
<?php
while ($total = mysql_fetch_array($execution_requete)) {
echo "<option value=" . $total['nom_equipe'] . ">" . $total['nom_equipe'] . "</option>";
}
}
?>
</select>
</div>

1 réponse

Utilisateur anonyme
20 août 2014 à 17:24
salut,

Ton code ne comporte pas de javascript, qui est un langage permettant de rendre dynamique une page web, c'est à dire effectuer des actions qui ne vont pas recharger la totalité de la page.

Pour expliquer brièvement : le code en php est interprété par le serveur, qui fournit ensuite un contenu au client. C'est à dire que chaque action que tu effectué en php sera faite en amont.
Le javascript étant interprété par le client, il permet d'effectuer des actions qui ne demanderont pas d'échange avec le serveur.

Là où je veux en venir, c'est : si tu ne souhaite pas que ta page soit rechargé pour récupérer les nouveaux contenu (ceux de ton second select) , tu dois charger la totalité de ton second sélect et tu masque ce qui ne correspond par à la valeur sélectionnée dans le premier.

dis moi si je suis pas clair.

naga
0