แจกระบบตะกร้าสินค้า php code พร้อม database
สำหรับนำไปเรียนรู้และพัฒนาต่อยอดนะครับ ในระบบประกอบด้วยหน้าต่างๆ ดังนี้ หน้าแสดงสินค้าทั้งหมด, หน้าแสดงรายละเอียดสินค้า, หน้าตะกร้าสินค้า, และหน้าสั่งซื้อ
ขายระบบพร้อมใช้ Cart PHP7, ตะกร้าสินค้า php, E-commerce, ขายสินค้าออนไลน์, เว็บอีคอมเมิร์ช, ตัดสต๊อก 6,900 บาท
ซื้อระบบนี้แถมคอร์สออนไลน์ D02 สอน php ระบบแคตตาล็อคออนไลน์ ระบบตะกร้าสินค้า จ่ายครั้งเดียว เข้าเรียนได้ตลอดชีพ
**รายละเอียดเพิ่มเติม คลิก
Cart PHP MySQLi v3.5 PHP7 , Shopping cart , ตะกร้าสินค้า, ตัดสต๊อก, อีคอมเมิร์ช, E-Commerce 3,900 บาท ได้โค้ดทั้งหมด
*คลิปสอน Code ชุดนี้ Ep22-32 คลิก
ตารางที่ใช้ อย่าลืมสร้าง database ก่อนนะครับแล้วค่อยนำ sql ไปวางเพื่อสร้างตาราง เช่น database ชื่อ “db_book”
ตารางสินค้า
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
CREATE TABLE `product` ( `p_id` int(11) NOT NULL auto_increment, `p_name` varchar(200) collate utf8_unicode_ci default NULL, `p_detail` text collate utf8_unicode_ci, `p_price` float default NULL, `p_pic` varchar(20) collate utf8_unicode_ci default NULL, `c_id` varchar(100) collate utf8_unicode_ci default NULL, PRIMARY KEY (`p_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ; -- -- Dumping data for table `product` -- INSERT INTO `product` VALUES (1, 'book1', 'workshop นี้ได้แนะนำวิธีการสร้างเว็บไซต์จาก devbanban.com ', 349, 'book.jpg', '1'); INSERT INTO `product` VALUES (2, 'book2', 'workshop นี้ได้แนะนำวิธีการสร้างเว็บไซต์จาก devbanban.com ', 349, 'book.jpg', '1'); INSERT INTO `product` VALUES (3, 'book3', 'workshop นี้ได้แนะนำวิธีการสร้างเว็บไซต์จาก devbanban.com ', 195, 'book.jpg', '1'); INSERT INTO `product` VALUES (4, 'book4', 'workshop นี้ได้แนะนำวิธีการสร้างเว็บไซต์จาก devbanban.com ', 149, 'book.jpg', '1'); INSERT INTO `product` VALUES (5, 'book5', 'workshop นี้ได้แนะนำวิธีการสร้างเว็บไซต์จาก devbanban.com ', 249, 'book.jpg', '1'); INSERT INTO `product` VALUES (6, 'book6', 'workshop นี้ได้แนะนำวิธีการสร้างเว็บไซต์จาก devbanban.com ', 289, 'book.jpg', '1'); |
ตารางประเภทสินค้า
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TABLE `category` ( `c_id` int(11) NOT NULL auto_increment, `c_name` varchar(200) collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`c_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ; -- -- Dumping data for table `category` -- INSERT INTO `category` VALUES (1, 'IT'); |
ตารางสั่งซื้อ
1 2 3 4 5 6 7 8 9 10 11 |
CREATE TABLE `order_head` ( `o_id` int(10) NOT NULL auto_increment, `o_dttm` datetime NOT NULL, `o_name` varchar(100) collate utf8_unicode_ci NOT NULL, `o_addr` varchar(500) collate utf8_unicode_ci NOT NULL, `o_email` varchar(100) collate utf8_unicode_ci NOT NULL, `o_phone` varchar(20) collate utf8_unicode_ci NOT NULL, `o_qty` int(11) NOT NULL, `o_total` float NOT NULL, PRIMARY KEY (`o_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; |
ตารางรายละเอียดสั่งซื้อ
1 2 3 4 5 6 7 8 |
CREATE TABLE `order_detail` ( `d_id` int(10) NOT NULL auto_increment, `o_id` int(11) NOT NULL, `p_id` int(11) NOT NULL, `d_qty` int(11) NOT NULL, `d_subtotal` float NOT NULL, PRIMARY KEY (`d_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ; |
ไฟล์เชื่อมต่อฐานข้อมูล connect.php อย่าลืมสร้าง database ก่อนนะครับแล้วค่อยนำ sql ไปวางเพื่อสร้างตาราง
1 2 3 4 |
<?php $conn= mysqli_connect("localhost","root","password","db_book") or die("Error: " . mysqli_error($con)); mysqli_query($conn, "SET NAMES 'utf8' "); ?> |
หน้าแสดงสินค้าทั้งหมด product.php
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 |
<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Product List</title> </head> <body> <table width="600" border="1" align="center" bordercolor="#666666"> <tr> <td width="91" align="center" bgcolor="#CCCCCC"><strong>ภาพ</strong></td> <td width="200" align="center" bgcolor="#CCCCCC"><strong>ชื่อหนังสือ</strong></td> <td width="44" align="center" bgcolor="#CCCCCC"><strong>ราคา</strong></td> <td width="100" align="center" bgcolor="#CCCCCC"><strong>รายละเอียดสินค้า</strong></td> </tr> <?php //connect db include("connect.php"); $sql = "select * from product order by p_id"; //เรียกข้อมูลมาแสดงทั้งหมด $result = mysqli_query($conn, $sql); while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td align='center'><img src='img/" . $row["p_pic"] ." ' width='80'></td>"; echo "<td align='left'>" . $row["p_name"] . "</td>"; echo "<td align='center'>" .number_format($row["p_price"],2). "</td>"; echo "<td align='center'><a href='product_detail.php?p_id=$row[p_id]'>คลิก</a></td>"; echo "</tr>"; } ?> </table> |
หน้าแสดงรายละเอียดสินค้า product_detail.php
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 |
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Product Detail</title> <link href="style.css" rel="stylesheet" type="text/css" /> </head> <body> <table width="600" border="0" align="center" class="square"> <tr><td colspan="3" bgcolor="#CCCCCC"><b>Product</b></td></tr> <?php //connect db include("connect.php"); $p_id = $_GET['p_id']; //สร้างตัวแปร p_id เพื่อรับค่า $sql = "select * from product where p_id=$p_id"; //รับค่าตัวแปร p_id ที่ส่งมา $result = mysqli_query($conn, $sql); $row = mysqli_fetch_array($result); //แสดงรายละเอียด echo "<tr>"; echo "<td width='85' valign='top'><b>Title</b></td>"; echo "<td width='279'>" . $row["p_name"] . "</td>"; echo "<td width='70' rowspan='4'><img src='img/" . $row["p_pic"] . " ' width='100'></td>"; echo "</tr>"; echo "<tr>"; echo "<td valign='top'><b>Detail</b></td>"; echo "<td>" . $row["p_detail"] . "</td>"; echo "</tr>"; echo "<tr>"; echo "<td valign='top'><b>Price</b></td>"; echo "<td>" .number_format($row["p_price"],2) . "</td>"; echo "</tr>"; echo "<tr>"; echo "<td colspan='2' align='center'>"; echo "<a href='cart.php?p_id=$row[p_id]&act=add'> เพิ่มลงตะกร้าสินค้า </a></td>"; echo "</tr>"; ?> </table> <p><center><a href="product.php">กลับไปหน้ารายการสินค้า</a></center> </body> </html> |
หน้าตะกร้าสินค้า cart.php
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 |
<?php session_start(); $p_id = $_GET['p_id']; $act = $_GET['act']; if($act=='add' && !empty($p_id)) { if(isset($_SESSION['cart'][$p_id])) { $_SESSION['cart'][$p_id]++; } else { $_SESSION['cart'][$p_id]=1; } } if($act=='remove' && !empty($p_id)) //ยกเลิกการสั่งซื้อ { unset($_SESSION['cart'][$p_id]); } if($act=='update') { $amount_array = $_POST['amount']; foreach($amount_array as $p_id=>$amount) { $_SESSION['cart'][$p_id]=$amount; } } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Shopping Cart</title> </head> <body> <form id="frmcart" name="frmcart" method="post" action="?act=update"> <table width="600" border="0" align="center" class="square"> <tr> <td colspan="5" bgcolor="#CCCCCC"> <b>ตะกร้าสินค้า</span></td> </tr> <tr> <td bgcolor="#EAEAEA">สินค้า</td> <td align="center" bgcolor="#EAEAEA">ราคา</td> <td align="center" bgcolor="#EAEAEA">จำนวน</td> <td align="center" bgcolor="#EAEAEA">รวม(บาท)</td> <td align="center" bgcolor="#EAEAEA">ลบ</td> </tr> <?php $total=0; if(!empty($_SESSION['cart'])) { include("connect.php"); foreach($_SESSION['cart'] as $p_id=>$qty) { $sql = "select * from product where p_id=$p_id"; $query = mysqli_query($conn, $sql); $row = mysqli_fetch_array($query); $sum = $row['p_price'] * $qty; $total += $sum; echo "<tr>"; echo "<td width='334'>" . $row["p_name"] . "</td>"; echo "<td width='46' align='right'>" .number_format($row["p_price"],2) . "</td>"; echo "<td width='57' align='right'>"; echo "<input type='text' name='amount[$p_id]' value='$qty' size='2'/></td>"; echo "<td width='93' align='right'>".number_format($sum,2)."</td>"; //remove product echo "<td width='46' align='center'><a href='cart.php?p_id=$p_id&act=remove'>ลบ</a></td>"; echo "</tr>"; } echo "<tr>"; echo "<td colspan='3' bgcolor='#CEE7FF' align='center'><b>ราคารวม</b></td>"; echo "<td align='right' bgcolor='#CEE7FF'>"."<b>".number_format($total,2)."</b>"."</td>"; echo "<td align='left' bgcolor='#CEE7FF'></td>"; echo "</tr>"; } ?> <tr> <td><a href="product.php">กลับหน้ารายการสินค้า</a></td> <td colspan="4" align="right"> <input type="submit" name="button" id="button" value="ปรับปรุง" /> <input type="button" name="Submit2" value="สั่งซื้อ" onclick="window.location='confirm.php';" /> </td> </tr> </table> </form> </body> </html> |
หน้ายืนยันการสั่งซื้อสินค้า confirm.php
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 |
<?php session_start(); include("connect.php"); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Checkout</title> </head> <body> <form id="frmcart" name="frmcart" method="post" action="saveorder.php"> <table width="600" border="0" align="center" class="square"> <tr> <td width="1558" colspan="4" bgcolor="#FFDDBB"> <strong>สั่งซื้อสินค้า</strong></td> </tr> <tr> <td bgcolor="#F9D5E3">สินค้า</td> <td align="center" bgcolor="#F9D5E3">ราคา</td> <td align="center" bgcolor="#F9D5E3">จำนวน</td> <td align="center" bgcolor="#F9D5E3">รวม/รายการ</td> </tr> <?php $total=0; foreach($_SESSION['cart'] as $p_id=>$qty) { $sql = "select * from product where p_id=$p_id"; $query = mysqli_query($conn, $sql); $row = mysqli_fetch_array($query); $sum = $row['p_price']*$qty; $total += $sum; echo "<tr>"; echo "<td>" . $row["p_name"] . "</td>"; echo "<td align='right'>" .number_format($row['p_price'],2) ."</td>"; echo "<td align='right'>$qty</td>"; echo "<td align='right'>".number_format($sum,2)."</td>"; echo "</tr>"; } echo "<tr>"; echo "<td align='right' colspan='3' bgcolor='#F9D5E3'><b>รวม</b></td>"; echo "<td align='right' bgcolor='#F9D5E3'>"."<b>".number_format($total,2)."</b>"."</td>"; echo "</tr>"; ?> </table> <p> <table border="0" cellspacing="0" align="center"> <tr> <td colspan="2" bgcolor="#CCCCCC">รายละเอียดในการติดต่อ</td> </tr> <tr> <td bgcolor="#EEEEEE">ชื่อ</td> <td><input name="name" type="text" id="name" required/></td> </tr> <tr> <td width="22%" bgcolor="#EEEEEE">ที่อยู่</td> <td width="78%"> <textarea name="address" cols="35" rows="5" id="address" required></textarea> </td> </tr> <tr> <td bgcolor="#EEEEEE">อีเมล</td> <td><input name="email" type="email" id="email" required/></td> </tr> <tr> <td bgcolor="#EEEEEE">เบอร์ติดต่อ</td> <td><input name="phone" type="text" id="phone" required /></td> </tr> <tr> <td colspan="2" align="center" bgcolor="#CCCCCC"> <input type="submit" name="Submit2" value="สั่งซื้อ" /> </td> </tr> </table> </form> </body> </html> |
ขายระบบพร้อมใช้ ระบบแจ้งซ่อมออนไลน์สำหรับองค์กร php7 8,000 บาท
ไฟล์บันทึกการสั่งซื้อลงฐานข้อมูล saveorder.php
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 |
<?php session_start(); include("connect.php"); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Confirm</title> </head> <body> <!--สร้างตัวแปรสำหรับบันทึกการสั่งซื้อ --> <?php $name = $_POST["name"]; $address = $_POST["address"]; $email = $_POST["email"]; $phone = $_POST["phone"]; $total_qty = $_POST["total_qty"]; $total = $_POST["total"]; $dttm = Date("Y-m-d G:i:s"); //บันทึกการสั่งซื้อลงใน order_detail mysqli_query($conn, "BEGIN"); $sql1 = "insert into order_head values(null, '$dttm', '$name', '$address', '$email', '$phone', '$total_qty', '$total')"; $query1 = mysqli_query($conn, $sql1); //ฟังก์ชั่น MAX() จะคืนค่าที่มากที่สุดในคอลัมน์ที่ระบุ ออกมา หรือจะพูดง่ายๆก็ว่า ใช้สำหรับหาค่าที่มากที่สุด นั่นเอง. $sql2 = "select max(o_id) as o_id from order_head where o_name='$name' and o_email='$email' and o_dttm='$dttm' "; $query2 = mysqli_query($conn, $sql2); $row = mysqli_fetch_array($query2); $o_id = $row["o_id"]; //PHP foreach() เป็นคำสั่งเพื่อนำข้อมูลออกมาจากตัวแปลที่เป็นประเภท array โดยสามารถเรียกค่าได้ทั้ง $key และ $value ของ array foreach($_SESSION['cart'] as $p_id=>$qty) { $sql3 = "select * from product where p_id=$p_id"; $query3 = mysqli_query($conn, $sql3); $row3 = mysqli_fetch_array($query3); $total = $row3['p_price']*$qty; $sql4 = "insert into order_detail values(null, '$o_id', '$p_id', '$qty', '$total')"; $query4 = mysqli_query($conn, $sql4); } if($query1 && $query4){ mysqli_query($conn, "COMMIT"); $msg = "บันทึกข้อมูลเรียบร้อยแล้ว "; foreach($_SESSION['cart'] as $p_id) { //unset($_SESSION['cart'][$p_id]); unset($_SESSION['cart']); } } else{ mysqli_query($conn, "ROLLBACK"); $msg = "บันทึกข้อมูลไม่สำเร็จ กรุณาติดต่อเจ้าหน้าที่ค่ะ "; } ?> <script type="text/javascript"> alert("<?php echo $msg;?>"); window.location ='product.php'; </script> </body> </html> |
ผลการทำงาน
ขายระบบพร้อมใช้ ระบบยืม-คืนครุภัณฑ์ และ ระบบเบิกจ่ายวัสดุสำนักงาน v1 @ 2023 ค่าตัวระบบ 12,900 บาท ได้ code & database ทั้งหมด
รายละเอียดระบบ คลิก.
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 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 session_start(); /* echo "<pre>"; print_r($_SESSION); echo "<hr>"; print_r($_POST); echo "</pre>"; exit(); */ ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Confirm</title> </head> <body> <!--สร้างตัวแปรสำหรับบันทึกการสั่งซื้อ --> <?php require_once('Connections/dbfreshcoffee.php'); //Set ว/ด/ป เวลา ให้เป็นของประเทศไทย date_default_timezone_set('Asia/Bangkok'); $member_firstname = $_POST["member_firstname"]; $member_address = $_POST["member_address"]; $member_email = $_POST["member_email"]; $member_phone = $_POST["member_phone"]; $member_username=$_POST["member_username"]; $p_qty = $_POST["p_qty"]; $total = $_POST["total"]; $order_date = date("Y-m-d H:i:s"); $status = 1; //บันทึกการสั่งซื้อลงใน order_detail mysql_db_query($database_condb, "BEGIN"); $sql1 = "INSERT INTO tb_order VALUES (NULL, '$member_firstname', '$member_username', '$member_address', '$member_email', '$member_phone', '$order_date' )"; $query1 = mysql_db_query($database_dbfreshcoffee, $sql1) or die ("Error in query: $sql1 " . mysql_error()); $sql2 = "SELECT MAX(order_id) AS order_id FROM tb_order WHERE member_phone='$member_phone'"; $query2 = mysql_db_query($database_dbfreshcoffee, $sql2); $row = mysql_fetch_array($query2); $order_id = $row['order_id']; foreach($_SESSION['shopping_cart'] as $product_id=>$p_qty) { echo $product_id; $sql3 = "SELECT * FROM tbl_product where product_id=$product_id"; $query3 = mysql_db_query($database_dbfreshcoffee, $sql3); $row3 = mysql_fetch_array($query3); $total=$row3['product_price']*$p_qty; $count=mysql_num_rows($query3); $sql4 = "INSERT INTO tb_order_detail values(null, '$order_id', '$product_id', '$p_qty', '$total')"; $query4 = mysql_db_query($database_dbfreshcoffee, $sql4); //ตัดสต๊อก for($i=0; $i<$count; $i++){ $have = $row3['product_total']; $stc = $have - $p_qty; $sql9 = "UPDATE tbl_product SET product_total=$stc WHERE product_id=$product_id "; $query9 = mysql_db_query($database_dbfreshcoffee, $sql9); } /* stock */ } if($query1 && $query4){ mysql_db_query($database_dbfreshcoffee, "COMMIT"); $msg = "บันทึกข้อมูลเรียบร้อยแล้ว "; foreach($_SESSION['shopping_cart'] as $product_id) { unset($_SESSION['shopping_cart']); } } else{ mysql_db_query($database_dbfreshcoffee, "ROLLBACK"); $msg = "บันทึกข้อมูลไม่สำเร็จ กรุณาติดต่อเจ้าหน้าที่ค่ะ "; } mysql_close($dbfreshcoffee); ?> <script type="text/javascript"> alert("<?php echo $msg;?>"); window.location ='product.php'; </script> </body> </html> |
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com และทีมงานได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/