Bonjour,

Je vous remercie d'avance pour vos futures réponses ;

J'ai créer un formulaire dynamique avec un petit [+] pour ajouter une ligne (aide du lien : http://www.solucior.com/11-Dynamical..._solution.html ).
le formulaire est jolie et fonctionne bien mais le problème viens après pour faire un INSERT INTO.

Voici mon code php.

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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
 
// Display the form
echo '
  <h2>Ajouter des Echantillons '.$id.' :</h2>
<form method="post" action=",,/php/echantillon_nouv.php">
	<table class="table table-hover">
	<tbody>
	<thead>
   <tr>
		<th>Référence Client</th>
       <th>N° Externe</th>
       <th>N° Interne</th>
       <th>Description</th>
   </tr>
   </thead>';
//  Prépare le nombre de ligne 
for ($i=0; $i<100; $i++) {
  // affiche seulement la 1er ligne, 
   if ($nbr_ligne == 0) $nbr_ligne = 1;
   if ($i >= $nbr_ligne) $display = 'style="display:none"';
   echo '
   <tr id="cell'.$i.'" '.$display.'>
 
          <td>
	   	   <div class="form-group">
			<select class="form-control" name="ref_client'.$i.'" " required id="sel1"  >';
			// Si l'ID du lot existe alors la ref_client ne peux être que celle du lot.
						if (isset($id)){
						$query_exist=$db->prepare('SELECT * FROM lots WHERE lot_id = :lot_id');
						$query_exist->bindValue(':lot_id',$id, PDO::PARAM_STR);
						$query_exist->execute();
						$data_exist=$query_exist->fetch();
						// On affiche une entrée
							 echo'  <option  value="'.$data_exist['ref_client'].'" >'.$data_exist['ref_client'].'</option>';
						}else{
							$reponse_ref_client = $db->query('SELECT * FROM  lots  ');
 
						// On affiche chaque entrée une à une
						while ($donnees_ref_client = $reponse_ref_client->fetch()){
							 echo'  <option  value="'.$donnees_ref_client['ref_client'].'" >'.$donnees_ref_client['ref_client'].'</option>';
						}
						}
			  echo'</select></br>
			</div> 
       </td>
 
       <td>
		   <div class="form-group">
			  <input type="text"   name="numero_externe'.$i.'" required class="form-control" ';
				if ($i <=9 ){
					echo 'value="ECH-00'.($i+1).'"';
				}else{
					if ($i <=99 ){
					 echo 'value="ECH-0'.($i+1).'"';
						}else{		
							if ($i >=100 ){
								echo 'value="ECH-'.($i+1).'"';
							}
						}
					}
				echo' ></input>
			</div> 
       </td>
 
       <td>
			<div class="form-group">
				 <input type="text"   name="numero_interne'.$i.'" required class="form-control" ';
					$query=$db->prepare('SELECT * FROM `echantillons` ORDER BY `numero_interne` DESC'  );
					$query->execute();
					$data=$query->fetch();
 
					$annee = substr($data['numero_interne'], 0, 2);  
					$mois = substr($data['numero_interne'], 2, 2);  
					$compteur = substr($data['numero_interne'], 4, 4);  
					//echo 'value="'.$annee.'-'.$mois.'-'.($compteur).'"';	
 
						if ($annee == date('y')){
							if ($mois == date('m')){
								$compteurs = $compteur+($i+1);			
								echo 'value="'.date('y').''.date('m').''.str_pad($compteurs, 4, "0", STR_PAD_LEFT).'"';	
								}else{
									$compteurs = ($i+1);			
									echo 'value="'.date('y').''.date('m').''.str_pad($compteurs, 4, "0", STR_PAD_LEFT).'"';	
									}	
							}else{
								$compteurs = ($i+1);			
								echo 'value="'.date('y').''.date('m').''.str_pad($compteurs, 4, "0", STR_PAD_LEFT).'"';	
							}
			  echo' > </input>
			</div>  
       </td>
       <td>
			<div class="form-group">
				<input type="text" name="descriptif'.$i.'"  required class="form-control" />
			</div>   
	   <td>
			<div class="form-group">
				<a href="javascript:void(0)" onclick="javascript:document.getElementById(\'cell'.($i+1).'\').style.display=\'table-row\'; this.style.display=\'none\'">[+]</a>
			</div>
       </td>
   </tr>
         ';
}
 
echo '
   </table>
   <tbody> 
		<div class="form-group">        
           <button type="submit" name="ajouter_echantillon"  required class="btn btn-primary btn-lg btn-block">Ajouter ces echantillons >> </button>
		</div>
</form>
';?>

Je pense qu'ensuite je vérifie if (isset($_POST['ajouter_echantillon'])) et si c'est le cas je fais un INSERT de toutes les lignes ou le display est activé..

ET C'EST LA QUE CA BLOQUE . Je sais pourtant faire un INSERT INTO D'un formulaire avec une ligne (exemple : nom, prenom, age, date de naissance ) Mais quand il faut récupérer plusieurs lignes et faire un INSERT INTO d'un seul coup avec toutes les informations la c'est un soucis..

A très vite !