Bonsoir, je m'en remet à vous car je ne trouve pas la solution de mon problème :
J'ai un formulaire qui affiche des enregistrements d'une table, et y ajoute à chaque enregistrement une case à cocher, un select et enfin 2 textbox, voici un bout de code :
et ensuite je reçois ces données dans ma page php de traitement, et c'est la que ça se complique.
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 <html> <table> <td><center>Véhicule(s)</center></td> <td><center>Conducteur</center></td> <td><center>Km départ</center></td> <td><center>Km arrivée</center></td> </tr> <?php do { ?> <tr> <td><INPUT type="checkbox" name="vl_depart[]" value="<?php echo $row_Recordset_vehicule['id_vehicule']; ?>"><?php echo $row_Recordset_vehicule['indicatif_vl']; ?></td> <td> <select name="conducteur[]" id="conducteur"> <option value=""></option> <?php do { ?> <option value="<?php echo $row_Recordset_personnel['id_user']?>"><?php echo $row_Recordset_personnel['nom']?> <?php echo $row_Recordset_personnel['prenom']?></option> <?php } while ( $row_Recordset_personnel = mysql_fetch_assoc ( $Recordset_personnel ) ); $rows = mysql_num_rows ( $Recordset_personnel ); if ($rows > 0) { mysql_data_seek ( $Recordset_personnel, 0 ); $row_Recordset_personnel = mysql_fetch_assoc ( $Recordset_personnel ); } ?> </select> </td> <td><input type="text" name="km_depart[]" id="km_depart"></td> <td><input type="text" name="km_arrive[]" id="km_arrive"></td> </tr> <?php } while ($row_Recordset_vehicule = mysql_fetch_assoc($Recordset_vehicule)); ?> </table> </html>
Je sais comment récupérer ces variables qui sont dans un tableau, mais je ne sais pas comment faire pour les parcourir afin de les enregistrer dans une table, voici ce que j'ai fait :
la partie traitement des données reçu (ex : si non vide et si un autre textbox $numero_cta est présent):
et la ça se complique je souhaiterais les ajouter dans ma table mais je ne sais pas comment faire pour que la requête s’exécute à chaque vl_depart coché avec son conducteur, ses km_depart, ses km_arrive :
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 $numero_cta = "129034"; //============================================================================== //TRAITEMENT DES VEHICULES AU DEPARTS //============================================================================== // bouclons sur les checkbox des libelle de vehicules if (!empty($_POST['vl_depart']) && !empty($numero_cta)) { $tabvehicules = $_POST['vl_depart']; }else{ $message[] = "Vous devez selectionner au moins un véhicule au départ"; } // bouclons sur les textbox des conducteurs if (!empty($_POST['conducteur']) && !empty($numero_cta)) { $tabconducteur = $_POST['conducteur']; $tabconducteur = array_values(array_filter($tabconducteur)); //supprime les vides et reindex le tab }else{ $message[] = "Vous devez renseigner le conducteur du véhicule"; } // bouclons sur les kilométres départ if (!empty($_POST['km_depart']) && !empty($numero_cta)) { $tab_km_depart = $_POST['km_depart']; $tab_km_depart = array_values(array_filter($tab_km_depart)); //supprime les vides et reindex le tab }else{ $message[] = "Vous devez renseigner les kilométres au départ"; } // bouclons sur les kilométres retour if (!empty($_POST['km_arrive']) && !empty($numero_cta)) { $tab_km_arrive = $_POST['km_arrive']; $tab_km_arrive = array_values(array_filter($tab_km_arrive)); //supprime les vides et reindex le tab }else{ $message[] = "Vous devez renseigner les kilométres au retour"; }
Dans mon cas ce code me crée 64 enregistrement au lancement de la requête alors que je n'ai coché que 1 véhicule !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php foreach($tabvehicules as $cle1 => $vehicules) { $insert_vehicules = "INSERT INTO rapports_vehicules (id_rap_vl_id, id_rap_vl_libelle, id_rap_vl_cond, rap_vl_km_depart, rap_vl_km_retour) VALUES ('".$numero_cta."', '".$vehicules."', '".$tabconducteur."', '".$tab_km_depart."', '".$tab_km_arrive."');"; $Result2 = mysql_query($insert_vehicules, $dbprotect) or die(mysql_error()); }?>
D'avance merci du temps que vous prenez pour lire mon post.
Partager