Selector

Eléphant du PHP | 103 Messages

08 févr. 2012, 16:57

Bonjour,

Désolé pour le manque de précision dans mon titre mais je ne sais pas vraiment quel est le nom de ce que je cherche à faire...
Dans mon application j'ai une partir dédiée à la création d'équipes. Pour l'instant je fais un simple affichage de l'ensemble des noms avec une case à cocher à chaque fois pour ajouter ou supprimer quelqu'un. Ça marche mais comme il y a une liste conséquente de collaborateurs ce n'est pas pratique.
A la place j'aimerai créer (c'est là que je ne connais pas le nom) un composant ou d'un côté on a la liste des collabs et de l'autre ceux qu'on sélectionner à l'aide des boutons >>, >, <<, ou <.
Mais je ne sais pas du tout comment on peut faire ça en php.

Merci

Petit nouveau ! | 7 Messages

08 févr. 2012, 18:13

Plutot du JS ça

Mammouth du PHP | 2278 Messages

08 févr. 2012, 19:50

Je suppose que ce qui te gêne c'est qu'on ne voit pas le résultat au fur et à mesure.
As-tu regardé du côté de <select multiple = 'multiple' size = '10'>...</select>
dans deux formulaires vis-à-vis...
On peut en sélectionner un paquet, mais le nombre affiché SIMULTANÉMENT est de 10, avec un ascenseur pour accéder aux autres.. comme ceci:
http://www.w3schools.com/tags/tryit.asp ... t_multiple
Il me semble qu'on devrait aussi pouvoir se servir d'un lot de boutons dont la valeur serait celle du collab... plus un bouton [terminé]:
un clic à gauche transfère à droite, un clic à droite transfère à gauche... Chaque clic réaffiche la page.
avec un champ invisible pour indiquer si c'est le premier passage ou pas.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 103 Messages

09 févr. 2012, 11:37

Oulà ça me paraît compliqué à faire ce truc là

Mammouth du PHP | 2278 Messages

09 févr. 2012, 15:49

La base c'est ça:
<select multiple = 'multiple' size = '5' name = 'noms'>
<option value ='1'>Le Petit Nicolas</option>
<option value ='2'>Le grand charles</option>
<option value = '3'>Le nain</option>
</select>
où les value sont les id des gens et ce seront ces valeurs qui seront transmises...
ou bien
<
select multiple = 'multiple' size = '5' name = 'noms'>
<option>Le Petit Nicolas</option>
<option>Le grand charles</option>
<option'>Le nain</option>
</select>
et ce sont les noms qui sont transmis.

maintenant si les renseignements viennent de la base de données ça donne un truc du genre aux :
$selecteur = "<select multiple = 'multiple' size = '5' name = 'noms'>";
$res = mysql_query ("select nom, id from base");
while ($ligne = mysql_fetch_array($res, MYSQL_ASSOC)) 
{
       $id = $ligne['id'];
       $nom = $ligne ['nom'];
       $selecteur .= "<option value ='$id'>$nom</option>";
   }
$selecteur .= "</select>";
et tu te sers de la variable $select là où il faut.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Eléphant du PHP | 103 Messages

09 févr. 2012, 16:09

Effectivement c'est un très bon début.
Merci.
Je vais creuser du côté de javascript maintenant pour voir comment faire la dynamique. Ceci étant si jamais il y a de l'aide je suis preneur :D .

Eléphant du PHP | 103 Messages

10 févr. 2012, 15:44

Actuellement mon code ressemble à ça :
<table border="1">
		<tr>
		<th>Professionnels</th>
		<th></th>
		<th>Contenu de ma liste</th>
		</tr>
		<tr>
		<td align="left">
		<select multiple="multiple[]" size="20" name="noms"> 
		<?php $te = $bdd->query('SELECT matricule, nom, prenom FROM collaborateur ORDER BY nom ASC');
		while($p = $te->fetch())
		{
			$mat = $p['matricule'];
			$nom = $p['nom'];
			$prenom = $p['prenom'];
			echo "<option value = '$mat'>$nom $prenom</option>";
		} ?> 
		</select>
		</td>
		<td style="width: 45px;"><input name="but" type="button" style="width: 35px;" value=">>" /><br /><br /><input name="butt" type="button" style="width: 35px;" value=">" /><br /><br /><br />
		<input name="butto" type="button" style="width: 35px;" value="<<" /><br /><br /><input name="button" type="button" style="width: 35px;" value="<" /></td>
		<td align="left">
		<select multiple="multipl" size="20" name="sel">
		</select>
		</td>
		</tr>
		</table>
Pour ce que je veux faire maintenant il va falloir appeler une fonction javascript sur le onclick des boutons ? Mais comment savoir ce qui a été sélectionné dans une colonne pour le passer dans l'autre ?