Bonjour !
Après avoir fouillé dans les forums,je suis toujours dans l'impasse quant à mon pb:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<?php /*
2 tables MySql: utilisateurs(id_utilisateur,nom,prenom,etc...) et Rreunion(id_Rreunion,date_debut,date_fin,id_utilisateurs)
Modification d'une liste multiple basée sur un existant(le champ id_utilisateurs de table Rreunion,valeurs: 14,26,5,37,42,23 (les identifiants de la table utilisateurs)
*/?>
<?php
// un lien "modifier" sur un agenda m'amène à cette page
if ( isset($_GET['idRreserv']))
{
$sql="select * from Rreunion where id_Rreunion=".$_GET['idRreserv'];
$query = mysql_query($sql) or die ('Erreur : '.mysql_error() );
$datareserv = mysql_fetch_array($query);
}
?>
<?php
// ...le début du code
?>
<td colspan="3" align="left">
<select name="liste1" multiple size="15" onChange="wSelectMultiple.value=selectMultiple('liste1');">
<option value="0">---------</option>
<?php
$ids = explode(",",$datareserv['id_utilisateurs']);
$sql = "SELECT id_utilisateur,nom,prenom FROM utilisateurs ORDER BY nom";
$query=mysql_query($sql);
while ($data = mysql_fetch_array($query))
{
foreach($ids as $id_utilisateur) // tous les existants sont sélectionnés mais la liste comprend autant de doublons que le nb total d'existants
{
if (($data['id_utilisateur'])==$id_utilisateur)
{
//foreach($ids as $idU) // aucun existant n'est sélectionné dans la liste
//{
echo '<option value ="'.$data['id_utilisateur'].'" selected />'.$data['nom'].' - '.$data['prenom'].'</option />';
//}
}else{
echo '<option value ="'.$data['id_utilisateur'].'" />'.$data['nom'].' - '.$data['prenom'].'</option />';
}
}
}
?>
</select>
</td>
<td><input type="hidden" name="wSelectMultiple" id="wSelectMultiple" height="50" width="50" value="<?php echo $datareserv['id_utilisateurs']; ?>" /></td>
<?php // la suite vers une rq UPDATE de tous les champs ?>
xxxxxxxxxxx
Mes constats sont au niveau des foreach,mais ne répondent pas à ma quête.
Si je mets un GROUP BY pour éviter les doublons,ma liste est vide.
Merci de votre aide !!