Comment retrouver tous les produits sélectionnés dans la B.D?
Fermé
inabantu
Messages postés
2
Date d'inscription
mardi 6 novembre 2012
Statut
Membre
Dernière intervention
24 décembre 2012
-
24 déc. 2012 à 09:41
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 24 déc. 2012 à 10:52
tryan44 Messages postés 1288 Date d'inscription mardi 24 janvier 2012 Statut Membre Dernière intervention 26 octobre 2014 - 24 déc. 2012 à 10:52
A voir également:
- Comment retrouver tous les produits sélectionnés dans la B.D?
- Ryanair produits interdits en cabine - Guide
- Comment retrouver les messages supprimés sur whatsapp - Guide
- Retrouver une musique avec les notes - Guide
- Comment retrouver son code de telephone - Guide
- Cle de produits windows 8.1 - Guide
1 réponse
tryan44
Messages postés
1288
Date d'inscription
mardi 24 janvier 2012
Statut
Membre
Dernière intervention
26 octobre 2014
220
24 déc. 2012 à 10:52
24 déc. 2012 à 10:52
Salut,
Je ne sais pas si c'est la meilleurs solution mais à défaut vous pouvez vous en inspirer ...
Comme vous utilisez une sélection multiple il faut déclarer le nom du "select" comme un tableau en ajoutant une paire de crochet. Ensuite on utilise une boucle "for" pour construire une partie de la requête sur les champs visés par la sélection. Dans la variable "$requete" on supprime le dernier "AND" sans oublier l'espace avec la fonction "substr" puis on concatène le reste de la requête.
Dans cet exemple et si vous sélectionnez tout, vous obtenez le résultat suivant :
Je ne sais pas si c'est la meilleurs solution mais à défaut vous pouvez vous en inspirer ...
<form method="post" action=""> <select name="produits[]" size="" multiple="MULTIPLE"> <option value="1">1<option> <option value="2">2<option> <option value="3">3<option> </select> <input type="submit" name="ok"> </form> <?php if(isset($_POST["ok"])){ $produits = ''; for ($i=0;$i<count($_POST['produits']);$i++) { $produits .= 'champ = '.$_POST['produits'][$i].' AND '; } $requete = substr("SELECT * FROM table WHERE $produits", 0, -4)."ORDER BY id DESC"; echo $requete; } ?>
Comme vous utilisez une sélection multiple il faut déclarer le nom du "select" comme un tableau en ajoutant une paire de crochet. Ensuite on utilise une boucle "for" pour construire une partie de la requête sur les champs visés par la sélection. Dans la variable "$requete" on supprime le dernier "AND" sans oublier l'espace avec la fonction "substr" puis on concatène le reste de la requête.
Dans cet exemple et si vous sélectionnez tout, vous obtenez le résultat suivant :
SELECT * FROM table WHERE champ = 1 AND champ = 2 AND champ = 3 ORDER BY id DESC