Avant tout je m'explique : j'ai deux zones de liste
multiple, la premiére se remplit directement par la base de
donnée , la deusiéme sert à recupérer les
valeurs selectionner au niveau de la premiére liste.
Quant je passe à la deusiéme feuille je veux recupérer les valeurs qui
se trouve dans la desiéme list.
La base de donnée est la suivante:
- le nom de la base est: "madb"
create table voiture (
idvoit int unsigned not null auto_increment,
intituler varchar (100) ,
primary key (idvoit)
);
INSERT INTO voiture VALUES ('', 'Renault');
INSERT INTO voiture VALUES ('', 'Citroën');
INSERT INTO voiture VALUES ('', 'Peugeot');
INSERT INTO voiture VALUES ('', 'Fiat');
INSERT INTO voiture VALUES ('', 'Audi');
INSERT INTO voiture VALUES ('', 'BMW');
INSERT INTO voiture VALUES ('', 'Opel');
INSERT INTO voiture VALUES ('', 'Mércides');
INSERT INTO voiture VALUES ('', 'Honda');
INSERT INTO voiture VALUES ('', 'Mazda');
Le script de la premiére feuille nomé " testmulti.php ":
//=====================================
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<script language="javascript">
function transfert(L1,L2,simple){
//transfére dans L2 les éléments sélectionnés dans la liste L1
// qq chose à faire ?
// index de l'élément sélectionné dans L1
index1=L1.selectedIndex;
if(index1==-1){
alert("Vous n'avez pas sélectionné d'élément");
return;
}//if
// quel est le mode de sélection des éléments des listes
if(simple){ // sélection simple
element1=L1.options[index1].text;
//ajout dans L2
L2.options[L2.length]=new Option(element1);
//suppression dans L1
L1.options[index1]=null;
}//simple
if(! simple){ //sélection multiple
//on parcourt la liste 1 en sens inverse
for(i=L1.length-1;i>=0;i--){
//élément sélectionné ?
if(L1.options[i].selected){
//on l'ajoute à L2
L2.options[L2.length]=new Option(L1.options[i].text);
//on le supprime de L1
L1.options[i]=null;
}//if
}//for i
}//if ! simple
}//transfert
</script>
<body>
<?php
$hote = "localhost";
$base = "madb";
$user = "root";
$pass = "";
$idconn = mysql_connect($hote, $user, $pass) or die(mysql_error());
$ret = mysql_select_db($base) or die(mysql_error());
//$idconn=connex("db_deputer","myparam");
$requete="Select idvoit,intituler From voiture";
$idresult=mysql_query($requete);
$nbrows=mysql_num_rows($idresult);
$nbcols=mysql_num_fields($idresult);
echo"<form name='testmulti' action='resultat.php' method='post'>
<table align='right' border='1' width='70%' >
<tr>
<td width='30%'><font>Type de voiture</font></td>
<td width='35%'>
<select name='Idvoiture' multiple size=4>";
while($voitab=mysql_fetch_array($idresult))
{
echo"<option
value='".$voitab[0]."'>".$voitab[1]."</option>";
}
//echo"<option value='' selected></option></select>";
echo"</select>
</td>
<td align='center'><input type='button' value='>>'
onclick='transfert(Idvoiture,Idvoiture1,true)'</td>
<td align='center'><input type='button' value='<<'
onclick='transfert(Idvoiture1,Idvoiture,true)'</td>
<td width='35%'>
<select name='Idvoiture1' multiple size=4>";
echo"</select>
</td>
</tr>
<tr>
<td>
</td>
<td align='center'><input type='submit' name='Send' value='Envoyer'></td>
</tr>
</table>
</form>";
?>
</body>
</html>
//=====================================
le script de la deusiéme feuille nomé " resultat.php ":
//=====================================<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?php
echo $_POST['Idvoiture1']."<br>";
?>
</body>
</html>
Mérci pour votre aide.