trouver l'erreur - PHP - Programmation
Marsh Posté le 07-07-2004 à 15:24:48
".php3" => tu sais surement que PHP arrive en version 5. Vérifie que les fonctions utilisées dans tes includes ne soient pas dépréciées.
$HTTP_POST_VARS['numero_site'] est remplacé par $_POST['numero_site']
Le souci ici, c'est que tu affiches la seconde liste déroulante quelque soit la valeur de 'numero_site'. Même si cette valeur est vide, tu effectues une requête. Cela génère surement des erreurs
Il faudrait faire
if (isset($_POST['numero_site']) && !empty($_POST['numero_site'])) {
//préparer la seconde liste déroulante.
}
Une autre solution est de préparer toutes les listes déroulantes et de les afficher en fonction de la sélection dans la première par une fonction JS (onChange() il me semble)
Marsh Posté le 07-07-2004 à 15:07:15
Etant débutante en php, j'ai du mal à faire deux listes déroulantes liées.
La sélection du site dans la première liste à des conséquences sur la deuxième liste, puisque celle ci ne contiendra que les ouvrages qui appartiennent au site sélectionné.
Si vous pouvez me corriger le code...se serait cool
Voici le code:
<?
include("../connexion_base/connexion_administrateur.php3" );
include("../util/affichage_util.php3" );
connexion();
?>
<form method="post" name="site" action="./test.php">
site : <select name="numero_site" onChange="submit(site)">
<?
print "<option value=\"\">Sélection d'un site</option>\n";
$requete = mysql_query("SELECT NUMERO_SITE FROM site" );
while ($ligne = mysql_fetch_row($requete))
{
echo "<option>";
echo $ligne[0];
echo "</option>";
echo $ligne[0];
}
?>
</select>
</form>
<form method="post" name="ouvrage" action="./test.php">
<input type="hidden" name="numero_ouvrage" value="<? echo $numero_site ?>">
ouvrage : <select name="numero_ouvrage" onChange="submit(ouvrage)">
<?
if ($HTTP_POST_VARS['numero_site']){
print "<option value=\"\">Sélection d'un ouvrage</option>\n";
}
$requete2 = mysql_query("SELECT * FROM ouvrage WHERE NUMERO_SITE = '$numero_site' " );
while ($ligne2 = mysql_fetch_row($requete2))
{
echo"<option>";
echo $ligne2[0];
echo "</option>";
}
?>
</select></form>
<input name="send" type="submit" value="Résultat">
i de votre aide