Poster input=hidden dans dropdown avec boucle
Résolu/Fermé- Poster input=hidden dans dropdown avec boucle
- Winmend folder hidden - Télécharger - Confidentialité
- Hidden process finder - Télécharger - Confidentialité
- Comment poster une vidéo sur tiktok - Guide
- Easy poster printer - Télécharger - Divers Photo & Graphisme
- Input not supported - Forum Ecran
4 réponses
20 sept. 2022 à 16:49
Bonjour,
pourquoi tu ne renseignes pas seulement le value de tes options avec la valeur souhaitée ?
Sinon, il te faudra passer par du JS
Bonjour Jordane,
Pour répondre à ta question, c'est parce que la valeur de l'option contient de quoi alimenter l'URL; j'ai construit le code de cette manière, mais n'ayant pas la logique de programmation, c'est peut-etre alambiqué. Voici le code en début de script :
<?php $_SERVER = "https:///index.php"; if(!isset($_POST['select_form'])) { $id_form = $_POST['id_form']; { header("Location: ".$_POST['select_form'].""); } } else { { header($_SERVER); } } $form_import_listing = "SELECT * FROM " . TABLE_FORM_I . ""; $fi_listing = mysqli_query($con, $form_import_listing); $form_import_selected = "SELECT * FROM " . TABLE_FORM_I . " WHERE id = " . $form_import . ""; $fi_selected = mysqli_query($con, $form_import_selected);
20 sept. 2022 à 18:29
Tu ne sembles pas utiliser ta variable
$id_form puisque tu rediriges vers une autre page...
Modifié le 20 sept. 2022 à 19:16
La page reste la même.
On passe juste de http://www.blabla.com/index.php à http://www.blabla.com/index.php#xxx par exemple ("xxx" dépendant de l'item sélectionné dans le menu déroulant.
Vu ta remarque, le problème viendrait de
$_SERVER
?
Et je viens de voir une erreur dans une requête
$form_import_selected = "SELECT * FROM " . TABLE_FORM_I . " WHERE id = " . $id_form . ""; $fi_selected = mysqli_query($con, $form_import_selected); et non $form_import_selected = "SELECT * FROM " . TABLE_FORM_I . " WHERE id = " . $form_import . ""; $fi_selected = mysqli_query($con, $form_import_selected);
Pour résoudre le problème, je suis parti sur la proposition précédente de Jordane.
J'ai placé l'identifiant et la référence en valeur des options, qu'ensuite je décortique dans une autre page grâce à la fonction explode.
Voici le code:
test.php
<?php $form_array = array(array('id' => '-', 'params' => '<a class="dropdown-item">', 'name' => "Sélectionner", 'ref' => '', 'params' => '</a>')); while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) { $form_array[] = array('id' => $row["id"], 'params' => '<a class="dropdown-item">', 'name' => $row["name"], 'ref' => $row["ref"], 'params' => '</a>' ); } ?> <body> <form action="test.php" method="post"> <select name="dropdown" onchange="this.form.submit();"> <?php foreach ($form_array as $form_ar) { ?> <option value="<?php echo $form_ar["id"] . "_" . $form_ar["ref"]; ?>"><?php echo $form_ar["name"];?></option> <?php } ?> </select> <noscript> <input type="submit" value="submit"> </noscript> </form> </body>
functions.php
<?php if(isset($_POST['dropdown'])) { $fi_selected = explode("_",$_POST['dropdown']); $fis_id = $fi_selected[0]; $fis_ref = $fi_selected[1]; ?>