Bonjour à tous.
Ma page affiche dynamiquement plusieurs tableaux (dont le nombre depend de la base) dont pour chaque tableau le nombre de colonnes (avec leur titre respectif) varie également.
chaque ligne du tableau contient des formulaires de type texte.
j'ai réussi à tout faire s'afficher comme je le voulais, mais j'ai un probleme pour inserer mes données dans ma bdd mysql.
Le truc c'est que mes valeurs s'incrivent bien, sauf que je ne sias pas pourquoi il rajoute également les valeurs des formulaires qui nont pas été renseignés. On dirait que la boucle continue de parcourir les formulaires comme si ils étaient renseignés (alors que non).
Code:
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 if(isset($_POST['envoi'])) { if(isset($_POST['nom']) && !empty($_POST['nom'])) { $i=1; while($i<=count($_POST['nom'])) { $j=1; while(!empty($_POST['nom'][$i]) && $j<count($_POST['nom'][$i])) { $k=1; while($_POST['qte'][$i][$j]==!"" && $k<=count($_POST['qte'][$i][$j])) { if($_POST['nom'][$i][$j] !== '') { $nom_client=$_POST['nom'][$i][$j]; } if($_POST['code'][$i][$j][$k] !== '') { $pdt=$_POST['code'][$i][$j][$k]; } if($_POST['qte'][$i][$j][$k] !== '') { $qte=$_POST['qte'][$i][$j][$k]; } if(isset($pdt) && isset($qte) && isset($nom_client) ) { echo 'code:'.$pdt.'<br /> qte='.$qte; $connection = mysql_connect($serveur, $login, $pass) or die(mysql_error()); mysql_select_db($base, $connection) or die(mysql_error()); $commande=1; $req_verif=mysql_query("SELECT count(*) from test WHERE id='$commande' AND client='$nom_client' AND pdt='$pdt' AND qte='$qte'") or die(mysql_error()); $verif=mysql_result($req_verif,0); if(empty($verif)){$req_insert=mysql_query("INSERT into test values('$commande','$id_client', '$nom_client','$pdt','$qte')") or die(mysql_error()); } else { echo "existe deja"; } } // fin de isset($pdt) $k++; } // fin de while k<count $j++; } // fin de while j<count.. $i++; } // fin de while } }
et la partie du formulaire :
j'ai passé plus d'une demie journée dessus je ne vois pas d'ou vient l'erreur... en esperant que quelqu'un puisse m'aider..Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 th class="client_liste"><input type="text" name="nom['.$indice_cat.']['.$j.']" /></th>'; $req_form=mysql_query("select designation,code from pdt_coche WHERE id_cat='$num_categorie' AND id_client='$id_client' order by id_pdt"); $qte_num=1; while($form=mysql_fetch_array($req_form)){ echo ' <td><input type="text" id="quantite'.$qte_num.'" name="qte['.$indice_cat.']['.$j.']['.$qte_num.']" onChange="majligne();" /><input type="hidden" name="code['.$indice_cat.']['.$j.']['.$qte_num.']" value="'.$form['code'].'" /></td>'; $qte_num++; } echo ' <td></td><td><input type="text" name="resultat" id="resultat" /><input type="hidden" name="envoi" /></td> </tr>'; } echo ' </table> </div>'; }
je vous remercie