Enregistrer plusieurs valeurs pour plusieurs éléments

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Enregistrer plusieurs valeurs pour plusieurs éléments

Re: Enregistrer plusieurs valeurs pour plusieurs éléments

par moogli » 22 oct. 2012, 20:34

salut,


as tu regardé ce qu'il y avait dans $_POST ?

tu devrais utiliser la concaténation plutôt que l'utilisation de variable dans une chaîne avec des "



@+

Enregistrer plusieurs valeurs pour plusieurs éléments

par Geckco » 19 oct. 2012, 23:25

Bonjour,

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

J'aimerais pour une liste de plusieurs personnes enregistre 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

Code : Tout sélectionner

<form name="frm" action="" method="post"> <h1><?php echo $page_title ; ?></h1> <p><center><b>Il y a <?php echo $num; ?> adulte<?php echo $pluriel; ?> inscrit<?php echo $pluriel; ?> dans le groupe <?php echo $GroupeN ; ?>.</b></center></p> <table width="auto" align="center" cellspacing="0" cellpadding="3" border="0"> <tr valign="top"> <td width="auto" valign="middle" align="left" class="hgb"><b>Nom</b></td> <td width="auto" valign="middle" align="left" class="hgb"><b>Pr&eacute;nom</b></td> <td width="auto" valign="middle" align="center" class="hgb"><b>Date de naissance</b></td> <td width="auto" valign="middle" align="center" class="hgb"><b>R&ocirc;le</b></td> <td width="auto" valign="middle" align="center" class="hgbd"><b>Fonction</b></td> </tr> <?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 = '&nbsp;'; } if ($row[5] == '1') { if ($fonction == '&nbsp;') { $fonction = $fonction . 'Entra&icirc;neur'; } else { $fonction = $fonction . '<br />Entra&icirc;neur'; } } else { $fonction = $fonction . ''; } if ($row[6] == '1') { if ($fonction == '&nbsp;') { $fonction = $fonction . 'Comit&eacute;'; } else { $fonction = $fonction . '<br />Comit&eacute;'; } } else { $fonction = $fonction . ''; } if ($row[7] == '1') { if ($fonction == '&nbsp;') { $fonction = $fonction .'Externe'; } else { $fonction = $fonction .'<br />Externe'; } } else { $fonction = $fonction .''; } ?> <tr> <td valign="middle" align='left' class="gb"><font size='-1'><?php echo stripslashes($row[1]) ; ?></font></td> <td valign="middle" align='left' class="gb"><font size='-1'><?php echo stripslashes($row[2]) ; ?></font></td> <td valign="middle" align='center' class="gb"><font size='-1'><?php echo $JD_Naiss." ".$MD_Naiss." ".$AD_Naiss ; ?></font></td> <td valign="middle" align='center' class="gb"><font size='-1'><?php echo $fonction; ?></font></td> <td align="center" class="gbd"> <?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.">".stripslashes($rowFon[1])."</option>"; } echo '</select>'; ?> </td> </tr> <?php } //end while ?> </table> <div align="center"><input type="submit" name="submit" value="Mise à jour des fonctions" /></div> </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 :

Code : Tout sélectionner

// 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