IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Envoi avec la méthode POST d'un tableau rempli dynamiquement


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    496
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 496
    Points : 123
    Points
    123
    Par défaut Envoi avec la méthode POST d'un tableau rempli dynamiquement
    Bonjour à toutes et tous

    Je rempli un tableau HTML avec une requête mysql.
    pour établir les salaires
    Je complète des données pour chaque ligne du tableau (comme charges patronales, le salaire net) puis je veux enregistrer le tableau complété dans une nouvelle table
    ci-dessous pour remplir le tableau j'ai rajouté 2 lignes charges_patronales et salaire_net que je rempli manuellement puis action sur enregistre.
    mais dans $_POST je ne récupère que les données du dernier animateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <form id="salaire_mois" name="salaire_mois" method= "post" action "../heures_mois_animateurs.php" >
    	<table class="no_disabled">
    		<tr>
    			<th>Animateur</th>			
    			<th>Centième</th>			
    			<th>Heure</th>			
    			<th>Brut/horaire</th>			
    			<th>Salaire Brut</th>	
    			<th>Ancienneté</th>
    			<th>charges_patronales</th>
    			<th>salaire_net</th>									
    		</tr>
    		<tbody>
    	<?php
    		try{
    			$requete = "SELECT Month(date_cours) AS mois, animateurs_heures.nom_animateur, Sum(activites.duree_seance) AS quantieme_mois, animateurs.brut_horaire, animateurs.debut_contrat
    						FROM activites 
    						INNER JOIN animateurs_heures ON activites.ID = animateurs_heures.id_activite
    						INNER JOIN animateurs ON animateurs.nom = animateurs_heures.nom_animateur
    						GROUP BY Month(date_cours), animateurs_heures.nom_animateur, animateurs.brut_horaire, animateurs.debut_contrat
    						HAVING mois=:mois_defaut";
    			$retours = $liaison -> prepare($requete);					
    			$retours -> bindParam(':mois_defaut', $choix_mois);
    			$retours -> execute();
    		}catch(Exception $e){
    			echo " Erreur ! ".$e->getMessage();echo'<br/>';
    			exit;
    		}
    		while ($donnees = $retours -> fetch((PDO::FETCH_ASSOC)))
    		{
    			$nom_animateur = $donnees['nom_animateur'];
    			$quantieme_mois = $donnees['quantieme_mois'];
    			$debut_contrat = $donnees['debut_contrat'];
    			$nbmois = datediff($debut_contrat,date("Y-m-d"));
    			$anciennete = number_format((intdiv($nbmois, 24)*$SMCheure/100*$quantieme_mois),2);
    			$hmn = explode(".",$quantieme_mois);
    			$h = $hmn[0];
    			$mn = ($hmn[1]*0.60);
    			if ($mn==0){$mn=$mn."0";}
    			$heure_mois =$h." h ".$mn." mn";
    			$brut_horaire = $donnees['brut_horaire'];
    			$salaire_brut = number_format($donnees['brut_horaire']*$quantieme_mois,2);
    		?>	
    		<tr>
    			<td><input type ="text" name='animateur' id='animateur' value ='<?php echo htmlspecialchars($nom_animateur) ;?>' style="width:80px; text-align:left; border:0px;" disabled></td> 
    			<td><input type ="text" name='centième' id='centième' value ='<?php echo htmlspecialchars($quantieme_mois ); ?>' style="width:60px; text-align:right; border:0px;" disabled ></td>		
    			<td><input type ="text" name='heure' id='heure' value ='<?php echo htmlspecialchars($heure_mois) ;?>' style="width:80px; text-align:right; border:0px;" disabled></td> 
    			<td><input type ="text" name='brut_horaire' id='brut_horaire' value ='<?php echo htmlspecialchars($brut_horaire ); ?> €' style="width:100px;text-align:right; border:0px;" disabled ></td>		
    			<td><input type ="text" name='salaire_brut' id='salaire_brut' value ='<?php echo htmlspecialchars($salaire_brut) ;?> €' style="width:100px; text-align:right; border:0px;" disabled></td> 
    			<td><input type ="text" name='anciennete' id='anciennete' value ='<?php echo htmlspecialchars($anciennete ); ?> €' style="width:100px; border:0px;" disabled ></td>		
    			<td><input type ="text" name='charges_patronales' id='charges_patronales' value ='<?php echo htmlspecialchars($charges_patronales); ?> €' style="width:100px; border:0px;" disabled ></td>
    			<td><input type ="text" name='salaire_net' id='salaire_net' value ='<?php echo htmlspecialchars($salaire_net); ?> €' style="width:100px; border:0px;" disabled ></td>		
    		</tr>
    		<?php					
    		}	
    		?>
    		</tbody>
    	</table>
    	<input type="button" style='height:30px;' value="enregistre" onclick="submit()" />
    </form>
    j'espère être clair

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    je pense que cela concerne plus la discussion entre le navigateur et le code php donc ce message aurait plus sa place dans le forum php
    https://www.developpez.net/forums/f25/php/langage/

    dans votre formulaire tous les cases avec les noms par exemple ont le même "name" d'où le résultat. pour récupérer toutes la valeurs vous pouvez par exemple donner le nom "animateur[]" et vous aller récupérer les valeurs dans un tableau $_POST["animateur"].
    pour indexer ce tableau suivant l'identifiant des animateur, vous pouvez mettre cet identifiant dans les crochets pour obtenir name="animateur[259]" par exemple.

    vous trouverez plus d'informations là :
    https://www.php.net/manual/fr/faq.ht...aq.html.arrays
    https://g-rossolini.developpez.com/t...age-3#LIII-A-5

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/12/2007, 23h57
  2. [AJAX]problème d'envoie de données méthode POST
    Par xave dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/07/2006, 16h35
  3. Réponses: 7
    Dernier message: 08/06/2006, 14h26
  4. Réponses: 1
    Dernier message: 15/05/2006, 18h05
  5. PHP5: difficulté avec la méthode post
    Par koueletbak dans le forum Langage
    Réponses: 10
    Dernier message: 14/04/2006, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo