Bonsoir,
je sais pas si c'est une bête question mais j'ai bien réflichi et toujours j'ai pas trouvé une bonne solution
j'ai une liste nomée "pers2" et je veux remplire une table nomée "Personnes" avec les valeurs de cette liste.
Bonsoir,
je sais pas si c'est une bête question mais j'ai bien réflichi et toujours j'ai pas trouvé une bonne solution
j'ai une liste nomée "pers2" et je veux remplire une table nomée "Personnes" avec les valeurs de cette liste.
bonjour sara21,
J'aimerais bien t'aider, mais il faudrait + de précisions.
Tu as un code de base?
Mais si ta question est de savoir si c'est possible, la réponse est oui.
Il suffit de faire des INSERT pour chaque personne de ta liste.
Mais il faut précisez si tu utilise un formulaire ou autre.
++
Bonjour,
voila donc j'aimerais avoir une Liste (en suppose quelle est déja remplie avec des noms) et un boutton envoyer qui permet de remplire ma table "Personnes" [id (auto) , Nom (Varchar2)] avec les noms presents dans la liste
Merci les gars et j'attend avec impatience votre aide
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form method="post" name="form1" action="" > <select name="pers2" size="10" multiple="multiple" > </select> <input name="envoyer" type="submit" value="Envoyer" /> </form>![]()
Salut,
Le problème est que ta variable pers2 n'est pas un tableau, alors la variable globale $_POST['pers2'] ne peut contenir qu'une seule valeur !
On cherche donc à obtenir un tableau pers2[], lui même dans le tableau $_POST[]...
pour ce faire, c'est très facile, il suffit d'indiquer dans l'attribut name de la balise select que pers2 est un tableau, grâce à une paire de crochets :
Ensuite, il te suffit de récupérer les valeur du tableau $_POST['pers2'], avec un foreach par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <select name="pers2[]" size="10" multiple="multiple" >
Bonsoir tous le monde,
merci haze pour l'info mais ca marche pas pour mon cas et je vais vous monter tout mon code peut être que quelqu'un aura une idée![]()
Partie Javascript
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <?php include ("connexion.php"); $reponse = mysql_query('SELECT * FROM Personnes')or die('Erreur SQL !<br>'.$req.'<br>'.mysql_error()); $Tab_php_Nom = array(); $Tab_php_id = array(); $i=0; while ( $datamenu = mysql_fetch_array ( $reponse ) ) { $Tab_php_Nom[$i] = $datamenu["Nom"]; $Tab_php_id[$i] = $datamenu["id"]; $i++; } //////////////////////////////////////////////////// function TabPHP_to_JS($tableauPHP, $tableauJS) { echo $tableauJS . " = new Array();"; for($i = 0; $i < count($tableauPHP); $i++) { if (!is_array($tableauPHP[$i])) { echo $tableauJS . "[" . $i . "] = '" . $tableauPHP[$i] . "';"; } else { TabPHP_to_JS($tableauPHP[$i], $tableauJS . "[" . $i . "]"); } } return; } /////////////////////////////////////// echo "<script type='text/javascript'>"; TabPHP_to_JS($Tab_php_Nom, "MaTb"); echo "</script> "; ?>
Initialise une liste 1 (pers1) avec tout les personnes de la table (ca marche), puis grace au boutons tu peux changer les données de la liste1 vers la liste 2 (pers2) . les données sont toujours trier par ordre alphabétique
Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 <SCRIPT language="JavaScript"> //initialise une liste function ini(form,list1,list2){ // var MaTb = new Array(100); list1.options.length=0; list2.options.length=0; MaTb.sort(); var i for (i=0; i<MaTb.length; i++) { var o=new Option(MaTb[i],MaTb[i]); list1.options[list1.options.length]=o; } } //passe les données de la liste 1 à la liste 2 et les trie par ordre alphabétique function gtod(form,list1,list2){ for(yo=0;yo<list1.length;yo++){ if(list1.options[yo].selected == true){ var p= new Option(list1.options[yo].value,list1.options[yo].value); list2.options[list2.options.length]=p; list1.options[yo] = null; yo=yo-1; } } //trie de la liste, on creer un tab, on le trie et on reconstruit la liste var tbl = new Array() for(i=0;i<list2.length;i++){ tbl.push(list2.options[i].value); } tbl.sort();//trie le tableau list2.options.length=0;//efface la liste 2 for(i=0;i<tbl.length;i++){ //rempli la liste avec les données trié var p= new Option(tbl[i],tbl[i]); list2.options[list2.options.length]=p; } } </SCRIPT>
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <body onload="ini(form1,form1.pers1,form1.pers2);"> <form method="post" name="form1" action="verif_personne.php" > <select name="pers1" size="10" multiple="multiple"> </select> <input name="boutvD" type="button" class="style7" onclick="gtod(this.form,this.form.pers1,this.form.pers2);" value="Ajouter" /> <select name="pers2" size="10" multiple="multiple"> </select> <input name="boutvG" type="button" class="style7" onclick="gtod(this.form,this.form.pers2,this.form.pers1);" value="Retirer" /> <input type="button" name="init" value="Initialisation" onclick="ini(this.form,this.form.pers1,this.form.pers2);" /> <input name="envoyer" type="submit" value="Envoyer"/> </form> </body>
c'est tout ce que j'ai pu faire jusqu'a maintenant
et le probleme maintenant c'est comment faire pour envoyer les personnes de la liste 2 (pers2) vers une table (par ex : TabMembres('id','Nom')) de ma base de données.
Merci![]()
Bonjour,
j'ai essayé plein de truc mais aucune ne marche donc si je voulais changer mon select de "pers2" vers "pers2[]" comme suggerer par Hazequelles seront les modifications qui doivent être apporter a ces fonctions javascript (ils marchent bien et je n'ai besion)
Code : Sélectionner tout - Visualiser dans une fenêtre à part <select name="pers2[]" size="10" multiple="multiple" >
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 //initialise une liste function ini(form,list1,list2){ // var MaTb = new Array(100); list1.options.length=0; list2.options.length=0; MaTb.sort(); var i for (i=0; i<MaTb.length; i++) { var o=new Option(MaTb[i],MaTb[i]); list1.options[list1.options.length]=o; } } //passe les données de la liste 1 à la liste 2 et les trie par ordre alphabétique function gtod(form,list1,list2){ for(yo=0;yo<list1.length;yo++){ if(list1.options[yo].selected == true){ var p= new Option(list1.options[yo].value,list1.options[yo].value); list2.options[list2.options.length]=p; list1.options[yo] = null; yo=yo-1; } } //trie de la liste, on creer un tab, on le trie et on reconstruit la liste var tbl = new Array() for(i=0;i<list2.length;i++){ tbl.push(list2.options[i].value); } tbl.sort();//trie le tableau list2.options.length=0;//efface la liste 2 for(i=0;i<tbl.length;i++){ //rempli la liste avec les données trié var p= new Option(tbl[i],tbl[i]); list2.options[list2.options.length]=p; } } </SCRIPT>
Partager