Mettre 02 (deux) "value" dans une même "option"

Résolu
Mikkalo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
Mikkalo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde et merci pour vous qui prenez le temps de me lire,

Il y a deux jours déjà que j'essaie de résoudre un problème en vain.

J'ai renseigné dans ma base de données, une liste de revendeurs sous cette forme (id, N° Telephone, Site Web).
Dans mon code HTML, il y a les noms des pays de ces revendeurs respectifs comme l'atteste mon fichier
index.html ci-dessous :

<form name="users_form" method="post" action="traitement.php">

<select id="select" name="users" onchange="showUser(this.value)">

<option value=" ">Sélectionnez votre pays:</option>
<option value="2">France</option>
<option value="4">Belgique</option>
<option value="5">Nigeria</option>
<option value="6">Suisse</option>
<option value="7">Ghana</option>
<option value="8">GABON</option>
<option value="9">Mali</option>

</select>
</form>


Jusque là, quand je sélectionne mon pays en faisant appel à la base de données, le revendeur en question de ce pays
s'affiche dans un tableau dans la même page. Ce qui est exactement ce que je voulais.

Maintenant, lorsque je voulais sélectionner plusieurs revendeurs pour ce même pays, c'est là où intervient mon problème.

Il me faut donc avoir 2 ou plusieurs "value" dans une même "option", comme ça quand je sélectionne le pays en question
la liste de tous les revendeurs apparaissent en même temps dans un tableau. Ce qui constitue mon vrai problème. J'essaie
avec la fonction explode de PHP en vain.

Quelque chose comme ça par exemple :

<form name="users_form" method="post" action="traitement.php">

<select id="select" name="users" onchange="showUser(this.value)">

<option value=" ">Sélectionnez votre pays:</option>
<option value="1|2">France</option>
<option value="3|4">Belgique</option>
<option value="5|6">Nigeria</option>
<option value="7|8">Suisse</option>
<option value="9|10">Ghana</option>
<option value="11|12">GABON</option>
<option value="13|14">Mali</option>

</select>
</form>


ou bien je ne sais pas si c'est comme ça :

<form name="users_form" method="post" action="traitement.php">

<select id="select" name="users" onchange="showUser(this.value)">

<option value=" ">Sélectionnez votre pays:</option>
<option value="1" value="2">France</option>
<option value="3" value="4">Belgique</option>
<option value="5" value="6">Nigeria</option>
<option value="7" value="8">Suisse</option>
<option value="9" value="10">Ghana</option>
<option value="11" value="12">GABON</option>
<option value="13" value="14">Mali</option>

</select>
</form>




Quelqu'un connait-il une méthode ou bien comment utiliser efficacement la fonction explode pour arriver à ce résultat ?

Merci d'avance pour vos réponses.

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Dans ta BDD, pour la table contenant les revendeurs.. tu dois y ajouter un champ : id_pays
et c'est par rapport à cet id_pays que tu dois rechercher les revendeurs à afficher.


0
Mikkalo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Jordane,

D'abord je tiens à te remercier pour l'intérêt porter sur mon problème. Ainsi, donc je te mets directement dans le vif du du sujet.

Dans mon cas, je ne dispose que d'une seule table revendeurs dans ma base de données. Je me suis inspirée de l'exemple sur cette page : https://www.w3schools.com/php/php_ajax_database.asp

Sauf que dans mon cas, je veux afficher plusieurs revendeurs dans une même table, quand je sélectionne un pays.

Voilà mon problème..je veux bien utiliser cette méthode sur la page indiquée ci-dessus pour le faire.

Merci Jordane
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Dans ta table actuelle (si je regarde le lien que tu me donnes....) tu as le champ "Hometown"

Il faut donc faire ta recherche par rapport à ce champ :

$q= !empty($_POST['q']) ? $_POST['q'] : NULL;

$sql="SELECT * FROM user WHERE Hometown= '".$q."'";


Et pour que ça fonctione ... dans ta liste déroulante (ton select html..) tu dois remplacer les ID par le nom des villes
<select id="select" name="pays" onchange="showUser(this.value)">

<option value=" ">Sélectionnez votre pays:</option>
<option value="France">France</option>
<option value="Belgique">Belgique</option>
<option value="Nigeria">Nigeria</option>

 ... etc...

</select>
0
Mikkalo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Ok, merci jordane. Je vais l'essayer et je te fais un retour.
0
Mikkalo Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Hello Jordane,

J'ai fait exactement comme tu me l'a montré, mais ça me retourne l'erreur suivante :

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in D:\xampp\htdocs\afrie\traitement.php on line 42
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Sans voir ton code php .... impossible de te répondre !
0