· 7 years ago · Sep 05, 2018, 04:00 AM
1<?php
2
3 #This code has several improvement opportunities, its just a sample.
4 include '../../links/db.php';
5
6 if(isset($_GET['sales_person']))
7 {
8 #this line suffers from longlineittis, bad practice.
9 #read about not null, decimal (10,2), int(11)
10 $sql= "CREATE TABLE IF NOT EXISTS sales
11 ( id INT PRIMARY KEY AUTO_INCREMENT, user VARCHAR(20),
12 products_sold VARCHAR(40), sold_quantity INT,
13 amount_sold INT, date_sold VARCHAR(10) ) ";
14 $create_sales=mysqli_query($con, $sql);
15
16 #prevent sql injection
17 $user=mysqli_real_escape_string($con,$_GET['sales_person']);
18 #declare this variable here, not down below, saving cycles.
19 $date=date('d/m/Y');
20 $get_from_cart=mysqli_query($con, "SELECT * FROM cart WHERE sales_person='".$user."' ");
21 while($row=mysqli_fetch_assoc($get_from_cart))
22 {
23 #this line is useless since we already have $user lines ago.
24 #$user=$row['sales_person'];
25
26 #escape this lines like $user, to prevent second order sql injection.
27 $item=mysqli_real_escape_string($con,$row['item']);
28 $sold=mysqli_real_escape_string($con,$row['quantity']);
29 $amount=mysqli_real_escape_string($con,$row['price']);
30 $id=$row['id'];
31
32 #would be nice to have an order id. everyone buys only one item ?
33 $sql3="INSERT INTO sales
34 SET user='$user',
35 products_sold='$item',
36 sold_quantity='$sold',
37 amount_sold='$amount',
38 date_sold='$date' ";
39 $insert_into_sales=mysqli_query($con, $sql3);
40 if($insert_into_sales)
41 {
42 #delete JUST THAT row, if something happens, can be re executed and no duplication/data lost occurs
43 $delete_cart=mysqli_query($con, "DELETE FROM cart WHERE id='$id' ");
44 if($delete_cart)
45 {
46 #cart record $id was changed to sales record
47 }
48 }
49 }
50 }
51
52?>