MissOlana Posté 15 Novembre 2013 Partager Posté 15 Novembre 2013 Rebonjour à tous chers internautes,me revoila pour un probleme que je n'arrive pas à résoudre: (hey oui je suis une buse des fois (rire))Bon voici le script et mon probleme:J'utilise un select multiple pour proposer un choix de recherche: (Homme, femme, couple) <select multiple="multiple" name="recherche[]" multiple size="3"> <option data-img-src="icone-homme.png" value="1"></option> <option data-img-src="icone-femme.png" value="2"></option> <option data-img-src="icone-couple.png" value="3"></option></select> Je récupere les données de mon choix multiple <?phpif(isset($_POST['recherche'])){if(($_POST['recherche']) && !empty($_POST['recherche'])){$Col1_Array = $_POST['recherche'];//print_r($Col1_Array);foreach($Col1_Array as $selectValue){//affichage des valeurs sélectionnéesecho $selectValue."";}}}?> Le résultat s'affiche comme suit:si le membre clique sur homme et femme cela m'affiche: 1 et 2si le membre clique sur homme, femme couple : 1 et 2 et 3jusque là tout va bien !Mon souci et l'ajout dans ma base de données MSQL, je n'y arrive pasVoici ma base:Voici la solution expéré:La table "comptes" +---------------+------------+----------+---------+| nom | Choix1 | Choix2 | Choix3 |+---------------+------------+----------+---------+| MissOlana | 1 | 2 | 3 | (si j'ai choisi homme, femme couple)+---------------+------------+----------+---------+| Paul | 1 | | | (si il a choisi homme)+---------------+------------+----------+---------+| Pierre | | 2 | 3 | (si il a choisi femme et couple)+---------------+------------+----------+---------+ En attente de vos lumiéres , merci encore les amis, je remercie aussi duplex13, Dadou, hsdino pour mes anciens soucis Lien vers le commentaire Partager sur d’autres sites More sharing options...
captain_torche Posté 15 Novembre 2013 Partager Posté 15 Novembre 2013 Pour commencer, pourquoi mettre les valeurs de ton select dans la base ? Une solution plus propre (Et plus facilement compréhensible) serait d'organiser ta bdd comme suit, avec des booléens : +---------------+-----------+----------+---------+ | nom | homme | femme | couple | +---------------+-----------+----------+---------+ | MissOlana | 1 | 1 | 1 | (si tu as choisi homme, femme couple) +---------------+-----------+----------+---------+ | Paul | 1 | 0 | 0 | (si il a choisi homme) +---------------+-----------+----------+---------+ | Pierre | 0 | 1 | 1 | (si il a choisi femme et couple) +---------------+-----------+----------+---------+ Dans ce cas, ton formulaire devrait plutôt ressembler à ça, pour plus de simplicité : <select multiple="multiple" name="recherche[]" multiple size="3"> <option data-img-src="icone-homme.png" value="homme"></option> <option data-img-src="icone-femme.png" value="femme"></option> <option data-img-src="icone-couple.png" value="couple"></option> </select> Ensuite, dans ta boucle de récupération, tu construis ta requête en fonction des éléments remplis. Lien vers le commentaire Partager sur d’autres sites More sharing options...
MissOlana Posté 16 Novembre 2013 Auteur Partager Posté 16 Novembre 2013 Effectivement Captain_torche, tu as raison je me complique la vie, voici un développer que j'ai fait pour l'ajout dans ma base Msql, mais c'est pas propre du tout ! Si quequ'un peut me le faire plus propre je suis preneuse <?php if(isset($_POST['recherche'])) { if(($_POST['recherche']) && !empty($_POST['recherche'])){ $Col1_Array = $_POST['recherche']; foreach ($Col1_Array as $key => $selectValue) { if($key=='0') { mysql_query("UPDATE comptes SET $selectValue = '1' WHERE nom = '$utilisateur' "); } if($key=='1') { mysql_query("UPDATE comptes SET $selectValue = '1' WHERE nom = '$utilisateur' "); } if($key=='2') { mysql_query("UPDATE comptes SET $selectValue = '1' WHERE nom = '$utilisateur' "); } } } } ?> Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dadou Posté 16 Novembre 2013 Partager Posté 16 Novembre 2013 Réfléchi 2 minutes, tu verras que tes if sont totalement inutiles Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant