Bonjour à Tous,
Dans un de mes formulaire, j'ai la possibilité de facturer des produits en ajoutant des lignes, ces produits sont des forfaits de renouvellement annuel.
Voici mon code coté formulaire :
Lorsque j'insère dans ma BDD les informations bien évidement dans ma table j'ai un Array qui s'affiche, je voudrais que chaque ligne de ma facture soient insérer dans ma bdd par ligne.
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 <?php .... <div class="control-group"> <div class='row'> <div class='col-xs-12 col-sm-12 col-md-12 col-lg-12'> <table class="table table-bordered table-hover"> <thead> <tr> <th width="2%"><input id="check_all" class="formcontrol" type="checkbox"/></th> <th width="15%">Ref</th> <th width="38%">Produits</th> <th width="15%">Prix</th> <th width="15%">Qtt</th> <th width="15%">Total</th> </tr> </thead> <tbody> <tr> <td><input class="case" type="checkbox"/></td> <td><input type="text" data-type="productCode" name="itemNo[]" id="itemNo_1" class="form-control autocomplete_txt" autocomplete="off"></td> <td><input type="text" data-type="productName" name="itemName[]" id="itemName_1" class="form-control autocomplete_txt" autocomplete="off"></td> <td><input type="number" name="price[]" id="price_1" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td> <td><input type="number" name="quantity[]" id="quantity_1" class="form-control changesNo" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td> <td><input type="number" name="total[]" id="total_1" class="form-control totalLinePrice" autocomplete="off" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"></td> </tr> </tbody> </table> </div> </div> <div class='row'> <div class='col-xs-12 col-sm-3 col-md-3 col-lg-3'> <button class="btn btn-danger delete" type="button">- Supprimer</button> <button class="btn btn-success addmore" type="button">+ Ajouter</button> </div> <div class='col-xs-12 col-sm-offset-4 col-md-offset-4 col-lg-offset-4 col-sm-5 col-md-5 col-lg-5'> <form class="form-inline"> <div class="form-group"> <label>Sous Total: </label> <div class="input-group"> <div class="input-group-addon"></div> <input type="number" class="form-control" id="subTotal" placeholder="Sous Total" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"> </div> </div> <div class="form-group"> <label>TVA: </label> <div class="input-group"> <div class="input-group-addon">%</div> <input type="number" class="form-control" id="tax" placeholder="TVA" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"> </div> </div> <div class="form-group"> <label>Montant TVA: </label> <div class="input-group"> <input type="number" class="form-control" id="taxAmount" placeholder="TVA" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"> <div class="input-group-addon"></div> </div> </div> <div class="form-group"> <label>Total: </label> <div class="input-group"> <div class="input-group-addon"></div> <input type="number" class="form-control" name="totalAftertax" id="totalAftertax" placeholder="Total" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"> </div> </div> <div class="form-group"> <label>Paiement: </label> <div class="input-group"> <div class="input-group-addon"></div> <input type="number" class="form-control" name="amountPaid" id="amountPaid" placeholder="Paiement" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"> </div> </div> <div class="form-group"> <label>Solde: </label> <div class="input-group"> <div class="input-group-addon"></div> <input type="number" class="form-control amountDue" id="amountDue" placeholder="Solde" onkeypress="return IsNumeric(event);" ondrop="return false;" onpaste="return false;"> </div> </div> </div> </div> </div> <script src="/js/jquery.min.js"></script> <script src="/js/jquery-ui.min.js"></script> <script src="/js/bootstrap.min.js"></script> <script src="/js/bootstrap-datepicker.js"></script> <script src="/js/auto.js"></script> .... ?>
fichier envoi
Voici la table de ma bdd qui m'intéresse:
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
113
114
115
116
117
118
119
120
121
122
123
124
125 <?php require 'db_conn.php'; page_protect(); $p_id=$_POST['p_id']; $pic_add="../images/$p_id.jpg"; mysqli_query($con,"INSERT INTO user_data (newid,wait) VALUES ('$p_id','yes')"); if (isset($_POST['p_name']) && isset($_POST['itemNo']) && isset($_POST['totalAftertax']) && isset($_POST['amountPaid'])) { function getRandomWord($len = 3) { $word = array_merge(range('a', 'z'), range('0', '9')); shuffle($word); return substr(implode($word), 0, $len); } $mem_type=$_POST['itemNo']; $query1 = "select * from mem_types WHERE mem_type_id='$mem_type'"; //echo $query; $result1 = mysqli_query($con,$query1); if(mysqli_affected_rows($con)==1){ while($row1 = mysqli_fetch_array($result1,MYSQLI_ASSOC)){ $mem_type=$row1['mem_type_id']; $name_type=$row1['name']; $details=$row1['details']; $days=$row1['days']; } } $query2 = "select * from tbl_users "; //echo $query; $result2 = mysqli_query($con,$query2); if(mysqli_affected_rows($con)==1){ while($row2 = mysqli_fetch_array($result2,MYSQLI_ASSOC)){ $userName=$row2['userName']; $userProfession=$row2['userProfession']; $userPic=$row2['userPic']; $adss=$row2['adss']; $cpss=$row2['cpss']; $vilss=$row2['vilss']; $css=$row2['css']; $ess=$row2['ess']; $adc=$row2['adc']; $cpc=$row2['cpc']; $vilc=$row2['vilc']; $ncun=$row2['ncun']; $nsiret=$row2['nsiret']; $npref=$row2['npref']; $rcr=$row2['rcr']; $cond=$row2['cond']; } } $proof=$_POST['proof']; if (isset($_POST['other_proof'])) { $other_proof=$_POST['other_proof']; } else { $other_proof=" "; } $invoice=substr(time(),2,10). getRandomWord(); $date=$_POST['date']; $date=date_back($date); $full_name=rtrim($_POST['p_name']); $email=rtrim($_POST['email']); $address=rtrim($_POST['add']); $contact=rtrim($_POST['contact']); $sex=rtrim($_POST['sex']); $height=rtrim($_POST['height']); $weight=rtrim($_POST['weight']); $total=$_POST['totalAftertax']; $paid=$_POST['amountPaid']; $mod_date = strtotime($date."+ $days days"); $expiry=date("Y-m-d",$mod_date); $wait="no"; $time=$days*86400; $exp_time=$time+strtotime($date); $na=$_POST['na']; $ddn=$_POST['ddn']; $ddn=date_back($ddn); $o=$_POST['o']; $m=$_POST['m']; $query = "select * from user_data WHERE wait='yes'"; //echo $query; $result = mysqli_query($con,$query); if(mysqli_affected_rows($con)==1){ while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){ $p_id=$row['newid']; mysqli_query($con,"UPDATE user_data SET name='$full_name', address='$address', pic_add='$pic_add',contact='$contact', email='$email', height='$height', weight='$weight', joining='$date', proof='$proof', other_proof='$other_proof', sex='$sex' , na='$na' , ddn='$ddn', o='$o' WHERE wait='yes'"); $bal=$total-$paid; mysqli_query($con,"INSERT INTO subsciption (mem_id,name,sub_type,paid_date,total,paid,expiry,invoice,sub_type_name,bal,exp_time,renewal,m,statut) VALUES ('$p_id','$full_name','$mem_type','$date','$total','$paid','$expiry','$invoice','$name_type','$bal','$exp_time','yes','$m','$proof')"); echo "<head><script>alert('Client Enregistré ,');</script></head></html>"; mysqli_query($con,"UPDATE user_data SET wait='no' WHERE wait='yes'"); } } } else { mysqli_query($con,"UPDATE user_data SET wait='no' WHERE wait='yes'"); echo "<head><script>alert('Erreur lors de l'enregistrement, remplir tous les champs);</script></head></html>"; echo "<meta http-equiv='refresh' content='0; url=new_entry.php'>"; } ?>
Je ne sais pas comment insérer dans ma bdd chaque des lignes
Merci à vous
Partager