PHP-Chargement de ma seconde liste déroulante
benooiit
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je veux réaliser le chargement de ma seconde liste déroulante via ma BDD après la selection d'un élément dans ma première elle-même chargée par la base de données. La première se charge bien mais j'arrive pas pour la deuxième. Pourriez-vous me dire ce qui cloche dans mon programme ?
Je précise aussi que je n'ai aucun message d'erreur et que je debute en PHP alors merci d'avance pour votre coup de pouce.
...Benoit...
Voici mon code :
Je veux réaliser le chargement de ma seconde liste déroulante via ma BDD après la selection d'un élément dans ma première elle-même chargée par la base de données. La première se charge bien mais j'arrive pas pour la deuxième. Pourriez-vous me dire ce qui cloche dans mon programme ?
Je précise aussi que je n'ai aucun message d'erreur et que je debute en PHP alors merci d'avance pour votre coup de pouce.
...Benoit...
Voici mon code :
<?php if (!isset($mainfile)) { include("mainfile.php"); } //Connexion à la base de données openbase(); //Recherche des marques de tronconneuse $req_marque = mysql_query ("SELECT marque_id, marque_text FROM marque WHERE outils_id=1 ORDER BY marque_text"); ?> <form name="formulaire1" method="get" action="essai.php"> <p><strong>Liste des marques </strong> <select name="marque" onchange="essai.btnsubmit.click();"> <option selected value='0'>Toutes les marques</option> <?php //Chargement de la liste déroulante avec le resultat de la requête while(list($marque_id, $marque_text) = mysql_fetch_row($req_marque)) { if ($marque_id==$marque) { $sel = "selected"; } echo "<option $sel value=\"$marque_id\">$marque_text</option>\n"; $sel = ""; } ?> </select> <?php mysql_free_result($req_marque); $req_type = mysql_query ("SELECT type_id, marque_id, type_text FROM type WHERE marque_id ='$marque' ORDER BY type_text"); ?> </p> <p><strong>Liste des modèles de la marque selectionné</strong> <select name="type"> <option selected value='0'>Tous les modeles </option> <?php while(list($type_id, $type_text) = mysql_fetch_row($req_type)) { if ($type_id==$type) { $sel = "selected "; } echo "<option $sel value=\"$type_id\">$type_text</option>\n"; $sel = ""; } ?> </select> </p> <p> <input name="btnsubmit" type="submit" id="btnsubmit" value="Envoyer"> </p> <p> </p> </form>
A voir également:
- PHP-Chargement de ma seconde liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Easy php - Télécharger - Divers Web & Internet
3 réponses
Bonjour.
Déjà, pour avoir une erreur ajoute un "or(mysql_error())" (avec ou sans die) après ta requête :
mysql_query ('SELECT `marque_id`,`marque_text` FROM `marque` WHERE `outils_id`=1 ORDER BY `marque_text`') or die(mysql_error());
Dis si tu as une erreur et laquelle c'est, avec le message d'erreur.
a plus
Déjà, pour avoir une erreur ajoute un "or(mysql_error())" (avec ou sans die) après ta requête :
mysql_query ('SELECT `marque_id`,`marque_text` FROM `marque` WHERE `outils_id`=1 ORDER BY `marque_text`') or die(mysql_error());
Dis si tu as une erreur et laquelle c'est, avec le message d'erreur.
a plus
Bonjour,
Tes variables $marque et $type sont utilisées directement, alors qu'elles sont censées être en GET...
Si tu rajoutes au début de ton script
Par ailleurs, petite astuce qui ne change pas grand chose : tu peux remplacer ton essai.btnsubmit.click(); par un essai.submit();
Ca change rien, hein, mais c'est plus clair je trouve :)
Xavier
Tes variables $marque et $type sont utilisées directement, alors qu'elles sont censées être en GET...
Si tu rajoutes au début de ton script
if (isset($_GET["marque"])) $marque = $_GET["marque"]; if (isset($_GET["type"])) $type= $_GET["type"];, ça donne quoi ?
Par ailleurs, petite astuce qui ne change pas grand chose : tu peux remplacer ton essai.btnsubmit.click(); par un essai.submit();
Ca change rien, hein, mais c'est plus clair je trouve :)
Xavier