J'ai un formulaire avec 3 listes déroulantes, afin d éviter de les recharger en php, je passe par json.
la 1ère choisie la marque de l imprimante, la 2ème le modèle et la 3eme la cartouche
(tout ça fonctionne bien) le problème est que le dernier résultat (le 3ème), je ne le veux pas dans une liste déroulante mais en ligne avec choix du type et nombre de cartouches pour l'utilisateur.
cela fait un moment que je suis dessus, mais pas moyen.
merci de votre aide, voici mon code
le formulaire php
<form method="post" action="#" id="fondsombre">
<table>
<tr>
<td ><h2><FONT color="orange">Veuillez sélectionner le consommable souhaité...</FONT></h2></td>
<td> </td>
</tr>
<tr>
<td class="note">
<label>Marque : </label>
<select id="marque">
<option value=""> Marque...
</select>
<label>Modèle : </label>
<select id="imprimante">
<option value=""> Imprimante...
</select>
<label>Cartouches :</label>
<select id="cartouche">
<option value=""> Cartouche...
</select>
<label>Nombre : </label>
<input type="hidden" name="id[]" value="<?php //echo $id ?>">
<select name="nombre[]">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</td>
<!-- Fin essai -->
</td>
</tr>
</table>
<?php
if(isset($_GET[$boutonAjout])){
echo "<p><input type=\"submit\" name=\"ajout\" value=\"Ajouter au Panier\" /></p>";
}
?>
</form>
puis le fichier qui me crée le json
if(isset($_GET['go']) || isset($_GET['marque']) || isset($_GET['imprimante'])) {
$json = array();
if(isset($_GET['go'])) {
// requête qui récupère les Marques
$requete = "SELECT * FROM marque ORDER BY idmarque ASC";
// exécution de la requête
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
// Création de la liste
while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
// je remplis un tableau et mettant l'id en index
$json[$donnees["idmarque"]][] = utf8_encode($donnees["marque"]);
}
}
elseif(isset($_GET['marque'])) {
// requête qui récupère les Imprimantes
$requete = "SELECT * FROM imprimante WHERE idmarque = '".$_GET['marque']."' ORDER BY imprimante ASC";
// exécution de la requête
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
// Création de la liste
while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
// je remplis un tableau et mettant l'id en index
$json[$donnees["idimprimante"]][] = utf8_encode($donnees["imprimante"]);
}
}
elseif(isset($_GET['imprimante'])) {
// requête qui récupère les cartouches
$requete = "SELECT * FROM cartouche WHERE idimprimante = '".$_GET['imprimante']."' ORDER BY cartouche ASC";
// exécution de la requête
$resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
// Création de la liste
while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) {
// je remplis un tableau et mettant l'id en index
$json[$donnees["idcartouche"]][] = utf8_encode($donnees["couleur"]);
}
}
$boutonAjout=true;
// envoi du résultat au success
echo json_encode($json);
}
j'espère avoir été assez clair dans mes explications.