[PHP] +[JS] Récupération des données entre listes

Récupération des données entre listes [PHP] +[JS] - PHP - Programmation

Marsh Posté le 29-04-2003 à 01:46:24    

voilà le truc :  
j'ai une liste basculante d'un select à un autre avec des bouton 'ajouter' et 'retirer', comme à cet adresse : http://www.toutjavascript.com/main [...] ?s=bascule.
 
ce que je voudrais alors c'est récupérer la valeur de $liste2 par exemple pour la mettre dans ma base, mais quand je fais 'echo "[".$liste2."]";' il m'écrit '[]'.
 
donc, je ne sais pas comment récupérer les valeurs, vous pouvez m'aider ??!!


Message édité par xkamui le 07-06-2003 à 13:18:29
Reply

Marsh Posté le 29-04-2003 à 01:46:24   

Reply

Marsh Posté le 29-04-2003 à 01:53:43    

HotShot a écrit :

Easy Data Recovery, de chez Ontrack. Marche pas mal si t'as formaté etc.


 
 :lol:  :lol:  :lol:  quel taré ce hotshot  [:volta]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 29-04-2003 à 02:09:21    

alors.... lol

Reply

Marsh Posté le 29-04-2003 à 02:20:28    

xkamui a écrit :

alors.... lol


 
alors si tu veux qu'on t'aide il nous faudra un peu plus de code  ;) c'est light, une chose est sûre ..... la valeur ne passe pas


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 29-04-2003 à 02:30:31    

Code :
  1. foreach ($liste2 as $this)
  2. {
  3.   echo $this;
  4. }

Reply

Marsh Posté le 29-04-2003 à 04:01:50    

ok, voici le code :  
 
le js :

Code :
  1. function add_option(a,b){
  2. var left  = document.getElementById("" + a + "" );
  3. var right = document.getElementById("" + b + "" );
  4. if (left.value != "" ){
  5.  add=new Option(left.options[left.options.selectedIndex].text,left.value);
  6.  right.options[right.options.length] = add;
  7.  left.options[left.options.selectedIndex] = null;
  8. }else{
  9.  alert("Aucune langue sélectionnée" );
  10. }
  11. }


 
le formulaire :

Code :
  1. <table class=\"tab-form-im\" summary=\"tab-form-im\">
  2.     <tr>
  3.      <td class=\"td-form-sl\">
  4.       <select id=\"list1\" class=\"inp-form-i sel-width\" size=\"3\">
  5.    ";
  6.  
  7.    for ($m=0; $m<count($lang_txt); $m++)
  8.     {
  9.     echo "<option value=\"".htmlentities($lang_txt[$m])."\">".ucfirst(htmlentities($lang_txt[$m]))."</option>\n";
  10.     }
  11.  
  12.    echo "
  13.       </select>
  14.      </td>
  15.      <td class=\"td-form-sw\">
  16.      <input type=\"button\" class=\"inp-form-i\" value=\">>\" onclick=\"add_option('list1','list2');\" /><br /><br />
  17.      <input type=\"button\" class=\"inp-form-i\" value=\"<<\" onclick=\"add_option('list2','list1');\" />
  18.      </td>
  19.      <td class=\"td-form-sl\">
  20.    
  21.      <select class=\"inp-form-i sel-width\" name=\"lang_04\" id=\"list2\" size=\"3\">
  22.      </select>
  23.      </td>
  24.     </tr>
  25.    </table>

Reply

Marsh Posté le 29-04-2003 à 04:50:02    

pas ce soir, occupé, fatigué  :sleep:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 12:20:45    

toujours impossible de récupérer ces données... :fou:

Reply

Marsh Posté le 30-04-2003 à 18:05:07    

ben c'est très simple ....  
2 choses :
- soit c'est ton javascript qui ne fonctionne pas  (pas testé), je penche pour cette option. pourquoi t'as pas repris celui de la référence que tu nous as filé  :??: .
 
- soit l'appel de ta fonction est foireux -(à première vue, je ne crois pas).
 


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 18:23:53    

xkamui a écrit :

toujours impossible de récupérer ces données... :fou:  


 
tu récupères bien le contenu du textarea nan ? sous la forme d'un texte ?

Reply

Marsh Posté le 30-04-2003 à 18:23:53   

Reply

Marsh Posté le 30-04-2003 à 18:25:55    

Hermes le Messager a écrit :


 
tu récupères bien le contenu du textarea nan ? sous la forme d'un texte ?
 


 
c'est un select ... et à mon avis c'est justement ca qu'il ne recupère pas.  [:troa]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 18:27:26    

simogeo a écrit :


 
c'est un select ... et à mon avis c'est justement ca qu'il ne recupère pas.  [:troa]  


 
ah oué, c un select en effet... Ben donc ce script ne sert à rien...  [:totozzz]
 
EDIT : ya une solution : additionner les champs à chaque fois dans une variable (ou mieux un tableau) et passer par un input hidden...  :whistle:  Mais bon, va falloir bosser et refaire une bonne partie du script... ;)


Message édité par Hermes le Messager le 30-04-2003 à 18:29:05
Reply

Marsh Posté le 30-04-2003 à 18:31:53    

Hermes le Messager a écrit :


 
ah oué, c un select en effet... Ben donc ce script ne sert à rien...  [:totozzz]
 
EDIT : ya une solution : additionner les champs à chaque fois dans une variable (ou mieux un tableau) et passer par un input hidden...  :whistle:  Mais bon, va falloir bosser et refaire une bonne partie du script... ;)
 


 
clair ... ( j'avais pas regardé sn js ....  :whistle: )
il est marrant lui.... :D , il pond un js tout pourri qui ne fonctionne pas (évidemment) et nous mets la source exacte de ce qu'il souhaite ... [:troa]  
 

Code :
  1. function Deplacer(l1,l2) {
  2.  if (l1.options.selectedIndex>=0) {
  3.   o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
  4.   l2.options[l2.options.length]=o;
  5.   l1.options[l1.options.selectedIndex]=null;
  6.  }else{
  7.   alert("Aucune activité sélectionnée" );
  8.  }
  9. }


 
un peu de tenue xkamui  [:volta]  !!!!


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 18:39:52    

non non, je le vois faire depuis un moment et il est plutôt du genre à bosser au contraire. ;)
 
xkamui -->  :)  
 
Tu fais comme je t'ai dit et normalement tu devrais t'en sortir.

Reply

Marsh Posté le 30-04-2003 à 18:47:14    

Hermes le Messager a écrit :

non non, je le vois faire depuis un moment et il est plutôt du genre à bosser au contraire. ;)


 
j'ai jamais dis le contraire mais je ne comprend pas pkoi il n'utilises pas le code qu'il a trouvé  [:spamafote].
Il n'y a pas 36 facons de le faire et ca ne sert a rien de re-inventer la roue ( ce qui est utile c'est de la comprendre [:meganne] )
 

Hermes le Messager a écrit :


Tu fais comme je t'ai dit et normalement tu devrais t'en sortir.


 
tu lui as dis quoi toi ?  [:southpark1]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 18:51:26    

ça :
 
EDIT : ya une solution : additionner les champs à chaque fois dans une variable (ou mieux un tableau) et passer par un input hidden...     Mais bon, va falloir bosser et refaire une bonne partie du script...  
 
;)
 
et de plus, je crois savoir qu'il tient à faire ses scripts tout seul. Il a pas tord. ça peut souvent servir de ré-inventer la roue.
 
exemple : http://forum.hardware.fr/forum2.ph [...] h=&subcat=
 
;)

Reply

Marsh Posté le 30-04-2003 à 18:58:28    

Hermes le Messager a écrit :

ça :
 
EDIT : ya une solution : additionner les champs à chaque fois dans une variable (ou mieux un tableau) et passer par un input hidden...     Mais bon, va falloir bosser et refaire une bonne partie du script...  
 


 
mais ca implique un rehargement de la page, alors qu'en js c'est pas necessaire  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 19:01:30    

simogeo a écrit :


 
mais ca implique un rehargement de la page, alors qu'en js c'est pas necessaire  [:spamafote]  


 
Non, je ne pense pas. Avec un input hidden et en plaçant un texte à la manière d'un textarea, ça doit pouvoir se faire non ? Après c'est sûr qu'il va devoir parser le texte à l'arrivée.
 
Au fait, pour mon histoire de tableau, j'ai pense que j'ai dit une connerie.

Reply

Marsh Posté le 30-04-2003 à 19:07:44    

Hermes le Messager a écrit :


 
Non, je ne pense pas. Avec un input hidden et en plaçant un texte à la manière d'un textarea, ça doit pouvoir se faire non ? Après c'est sûr qu'il va devoir parser le texte à l'arrivée.
 
Au fait, pour mon histoire de tableau, j'ai pense que j'ai dit une connerie.
 


 
comment fais tu pour envoyer des infos contenus dans un formulaire sans submit [:meganne] ?


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 19:34:58    

Ben ya forcément un submit au formulaire.
 
 :??:  

Reply

Marsh Posté le 30-04-2003 à 19:40:42    

Hermes le Messager a écrit :

Ben ya forcément un submit au formulaire.
 
 :??:  


 
et quand il y a un submit il y a forcement rechargement de la page ou envoie vers une nouvelle page pour traitement  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 30-04-2003 à 20:17:27    

Tu n'as pas compris ce que je voulais dire. Dans le cas d'un textarea par exemple dans le cadre d'un forum, tu peux ajouter des mots, des smileys etc... avant d'appuyer sur submit.
Là je lui propose de faire la même chose avec un champ caché, puis de faire un unique submit à la fin. ;)

Reply

Marsh Posté le 30-04-2003 à 20:20:44    

Hermes le Messager a écrit :

Tu n'as pas compris ce que je voulais dire. Dans le cas d'un textarea par exemple dans le cadre d'un forum, tu peux ajouter des mots, des smileys etc... avant d'appuyer sur submit.
Là je lui propose de faire la même chose avec un champ caché, puis de faire un unique submit à la fin. ;)
 


 
oki :) , ben c'est ce qu'il souhaitait faire apparement.
mais pour l'instant il n'y arrive pas  [:spamafote]


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 01-05-2003 à 00:26:22    

ok, admettons que j'ajoute les values de mon select à unchamps caché... es-ce qu'il va être possible alors de les retirer de ce même champs, car l'avantage de ce script est bien sur de pouvoir ajouter mais aussi retirer les options choisies...

Reply

Marsh Posté le 01-05-2003 à 00:43:04    

en fait je viens de comprendre ce que tu voulais ....
j'etais completemnt a l'ouest ... :whistle:  
 
 
nomme tes <select></select>
 
genre <select name=liste2[]></select>
 
 
et pour le traitement :
 

Code :
  1. while( list(,$val) = @each($liste2))  {
  2. echo $val."<br />";
  3. }


 
pas certain a 100%, mais il faut chercher dans cette direction je pense  :)


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 02-05-2003 à 01:33:32    

si je comprend bien ce que tu veux me faire faire, c'est de gérer mes select comme des tableaux et ensuite de dire, dans ma page php qui récupère mes données, prendre 'cellule par cellule' et en afficher le résultat.
 
alors j'ai fait ça :  
 
dans mon fichier avec le formulaire :
<select name="langue4[]" id="lang4" size="3" class="">
 
dans mon fichier qui affiches les données :
while( list(,$val) = each($langue4))   => Ligne 2
 { echo $val."<br />"; }
 
et j'ai enlevé le '@' pour voir le message d'erreur que voici, puisque ça ne fonctionne pas :  
Warning: Variable passed to each() is not an array or object in c:\program files\easyphp\www\new\travel\url\3\inscr02.php on line 2
 
je suis donc toujours coincé...


Message édité par xkamui le 02-05-2003 à 01:35:08
Reply

Marsh Posté le 07-06-2003 à 13:15:44    

Désolé de vous déranger encore, mais ça ne marche toujours pas... ouinn :cry:
 
il se trouve que, quand je fait mon submit, je ne récupère aucune valeur dans lang_04.
 
alors, j'avoue que je n'y comprend rien du tout !!!
 
s'il vous plait, je galère grave !!!
 
mais j'y pense... es-ce qu'il y aurait un moyen de mettre dans un alert() les valeurs que je passe d'un champ à l'autre et dans un alert suivant, la nouvelle valeur complète du deuxièmechamp select... pour voir à peu près la gueule que ça à ??
 
s'il vous plait (encore)... HELP !!! :cry::cry::cry:

Reply

Marsh Posté le 07-06-2003 à 13:56:58    

Bonjour bonjour
 
La solution, c'est d'utiliser le hidden, comme il a été dit plus haut.
Donc, pour se faire, appelles une fonction de ce genre juste apres la suppression ou l'ajout de valeur à ton 2eme select :
 
function UpdateString()
{
 oElement = MonFormulaire.SecondSelect;
 var TheString = new String;
 for (i=0;i<oElement.length;i++)
  TheString += oElement.options[i].value + ",";
 MonFormulaire.MonHidden.value = TheString;
}
 
De cette manière, ton hidden est toujours à jour, que tu ajoutes ou retires des valeurs à ton select.
Ensuite, apres ton submit, t'as plus qu'a récupérer le tout.
Perso, je fais un petit split du hidden et je suis tranquille.
 
Voili voilou.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed