Enregistrer plusieurs valeurs pour plusieurs éléments

Signaler
Messages postés
25
Date d'inscription
mardi 16 mars 2004
Statut
Membre
Dernière intervention
21 octobre 2012
-
Bonjour,

sous ce titre un peu abscons se cache un petit problème insolvable pour mes modestes compétences !

J'aimerais pour une liste de plusieurs personnes enregistrer un ou plusieurs fonctions dans une table mais j'ai beau chercher, je ne trouve pas la solution !!

J'arrive à construire le tableau à l'aide de ce code :
<form name= "frm" action="" method="post">
   <?php echo $page_title ; ?>

    <center> Il y a <?php echo $num; ?> adulte<?php echo $pluriel; ?> inscrit<?php echo $pluriel; ?> dans le groupe <?php echo $GroupeN ; ?>. </center>


    Nom,
Prénom</t
d>, Date de naissance</td>
Rôle,
Fonction,

<?php
// Afficher tous les enregistrements.
while ($row  = mysql_fetch_array($result, MYSQL_NUM)) {
$fonction = '';
// calcul de la date de naissance
$D_Naiss = explode('-', $row[3]);
$JD_Naiss = $D_Naiss[2];
$MoisD_Naiss = $D_Naiss[1];
$MD_Naiss = $tab_mois[$MoisD_Naiss-1];
$AD_Naiss = $D_Naiss[0];

// calcul du rôle
if ($row[4] == '1') {
$fonction = 'Nageuse';
} else {
$fonction = ' ';
}
if ($row[5] == '1') {
if ($fonction == ' ') {
$fonction = $fonction . 'Entraîneur';
} else {
$fonction = $fonction . '
Entraîneur';
}
} else {
$fonction = $fonction . '';
}
if ($row[6] == '1') {
if ($fonction == ' ') {
$fonction = $fonction . 'Comité';
} else {
$fonction = $fonction . '
Comité';
}
} else {
$fonction = $fonction . '';
}
if ($row[7] == '1') {
if ($fonction == ' ') {
$fonction = $fonction .'Externe';
} else {
$fonction = $fonction .'
Externe';
}
} else {
$fonction = $fonction .'';
}
?>
----

<?php echo stripslashes($row[1]) ; ?>,
<?php echo stripslashes($row[2]) ; ?>,
<?php echo $JD_Naiss." ".$MD_Naiss." ".$AD_Naiss ; ?>,
<?php echo $fonction; ?>,
<?php echo '
<select name="Fonction'.$row[0].'[]" multiple size="3">';
mysql_select_db($database_dbprotect, $dbprotect);
// requête sur la base Fonction
$verif_query_Fonction=sprintf("SELECT *
FROM ".$base."fonction
ORDER BY id_Fonc ASC");
$verif_Fonction = mysql_query($verif_query_Fonction, $dbprotect) or die(mysql_error());
while ($rowFon = mysql_fetch_row($verif_Fonction)) {$selected ($rowFon[0] $_POST["Fonction$row[0]"]) ? ' selected' : '';
echo "<option value='".$rowFon[0]."'".$selected.">".stripslash
es($rowFon[1])."</option>";
}
echo '</select>';
?>,

<?php
} //end while
?>

  


</form><!-- fin du formulaire -->


Mais le problème se pose lorsque je veux enregistrer les fonctions sélectionnées, voici le code que j'ai essayé d'écrire mais qui ne fonctionne pas :

// Action si le bouton "Mise à jour des fonctions" est cliqué
   if (isset($_POST['submit'])) {
    while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    $cle = $row[0];
    $Fonction = $_POST["Fonction$row[0]"];
    if ($Fonction == -1) {
    // on passe à l'élément suivant
    } else {
    if(($_POST['Fonction$row[0]']) && !empty($_POST['Fonction$row[0]'])){
    $Col1_Array = $_POST['Fonction$row[0]'];
    //print_r($Col1_Array);
    foreach($Col1_Array as $selectValue){
    //enregistrement des valeurs sélectionnées
    $Requete = "INSERT INTO ".$base."fonction 
    (id_Mem, id_An, id_Gr, Fonction) 
    Value ('$cle', '$_SESSION[id_an]', '$Groupe', '$fonction')";
    $resRequete = mysql_query($Requete) or die(mysql_error());
    }
    }
    }
    }
    // si tout s'est bien passé, retour à l'accueil
    header("Location:../../accueil.php");
   }


Quelqu'un pourrait-il éclairer ma lanterne ?

Merci d'avance de votre réponse

Bien cordialement

Gecko
bêta-programmeur ou programmeur bêta c'est selon