Bonjour à tous,
Voilà ma question est basé sur du code PHP et Javascript ... J'aurais voulu mettre en place un formulaire qui permettrait a la validation de faire un update d'une table avec les infos basculés d'un champ <select> a un autre.
J'ai trouvé le code javascript suivant : http://www.javascriptfr.com/forum/ [...] 2.aspx?p=2
et j'aurais voulu avec ce pti bout de code rajouter du code PHP pour la mise a jour de la table xxx.
Explication
Code :
- ------------- -------------
- |aaa | > |ddd |
- |bbb | | |
- |ccc | < | |
- ------------- -------------
- | SUBMIT |
|
Je voudrais par exemple ajouter "aaa" dans la liste 2 et apres validation du formulaire mettre à jour la table xxx
Remise à zero des champs
UPDATE xxx SET champ = 0;
Mise à jour en fonction des valeurs passées dans la liste 2
UPDATE xxx SET champ = 1 WHERE Id = list2[];
En gros voilà le code
Code :
- <SCRIPT LANGUAGE="JavaScript">
- /**
- * Déplacement
- *
- * @param _idListe1
- * Identifiant de la première liste.
- * @param _idListe2
- * Identifiant de la deuxième liste.
- */
- function Deplacer(_idListe1, _idListe2) {
- var l1 = document.getElementById(_idListe1);
- var l2 = document.getElementById(_idListe2);
- if (l1.options.selectedIndex>=0 ) {
- o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
- l2.options[l2.options.length]=o;
- l1.options[l1.options.selectedIndex]=null;
- }
- else{
- alert("Aucun dossier sélectionnée" );
- }
- }
- function submitForm ( _idListe ){
- var liste1 = document.getElementById(_idListe );
- // si une seule ligne ( alors pas de pays ) vue que la liste contient "----------------------";
- if ( liste1.options.length ==0 ) {
- alert ("Merci de renseigner un dossier pour activation" );
- return false;
- }
- // parcours tous les options de la liste.
- var listeValue = "";
- for (var i=0; i < liste1.options.length; i++){
- listeValue += ";" + liste1.options[i].value;
- }
- // juste une alerte.
- listeValue = listeValue.substr(1, listeValue.length);
- alert (listeValue);
- }
- </SCRIPT>
- [...]
- <form action="?menu=dossiers&action=actif" method="post" enctype="multipart/form-data" name="formulaire" >
- <TABLE><TR>
- <TD align="center"><B><FONT size="2">Dossier</FONT></B><strong><font size="2">s disponible </font></strong><BR>
- <SELECT name="liste1" size=6 id="liste1" style="width:120px" align=top>
- <?php
- $query_non = "SELECT * FROM dossier WHERE actif = '0' ORDER BY titre ASC";
- $result_non = mysql_query($query_non);
- while ($item_non = mysql_fetch_array($result_non))
- {
- $titre = $item_non['titre'];
- $id = $item_non['id'];
- echo "<OPTION value=$id>$titre</OPTION>";
- }
- ?>
- </SELECT>
- </TD>
- <TD align="center">
- <INPUT type="button" value="Ajouter >>>" onClick="Deplacer('liste1','liste2')">
- <BR><BR>
- <INPUT type="button" value="<<< Enlever" onClick="Deplacer('liste2','liste1')">
- </TD>
- <TD align="center"><FONT size="2"><B>Dossiers activés</B></FONT><BR>
- <SELECT align=top name="valeurs[]" id="liste2" size=6 multiple="multiple" style="width:120px">
- <?php
- $query_oui = "SELECT * FROM dossier WHERE actif = '1' ORDER BY titre ASC";
- $result_oui = mysql_query($query_oui);
- while ($item_oui = mysql_fetch_array($result_oui))
- {
- $titre_oui = $item_oui['titre'];
- $id_oui = $item_oui['id'];
- echo "<OPTION value=$id_oui>$titre_oui</OPTION>";
- }
- ?>
- </SELECT>
- </TD>
- </TR></TABLE>
- <input type="submit" onclick="return submitForm('liste2')" value="Valider">
- </FORM>
|
A partir de la je voudrais trouver un moyen de récupérer les valeurs situés dans le menu "liste2" ... et faire une boucle while ou for afin d'y mettre un UPDATE ...
Merci pour votre aide ...
Cordialement
Message édité par Odissine le 23-09-2009 à 15:00:38