สวัสดีครับ ในบทความนี้จะแจกตัวอย่าง Code PHP PDO การสร้างเงื่อนไขตรวจสอบจำนวนสินค้าคงเหลือ (สต๊อกสินค้า) และมีการกำหนดสีของ td เพื่อให้รู้ว่าสินค้ารายการใดใกล้จะหมดสต๊อก และโค้ดจะรองรับ php7, php8 ฝึกไว้ครับเผื่อได้ใช้
ตัวอย่างระบบที่มีการแสดงข้อมูลสินค้า
1.เว็บอีคอมเมิร์ช คลิก
2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก
3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก
4.หลังบ้านระบบอีคอมเมิร์ช คลิก
5.เว็บบริษัท / เว็บองค์กร คลิก
6.ระบบอื่นๆ เพิ่มเติม คลิก
รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
โค้ดประกอบด้วย
- PHP PDO
- MySQL SQL Query
- HTML
- Bootstrap5 Class : col, table
มาเริ่มทำ workshop กันครับ *คอมเม้นอยู่ในโค้ด
0.รวม Workshop PHP PDO ก่อนหน้าคลิก
1.ตารางเก็บข้อมูลตัวอย่างจะชื่อ tbl_product ให้สร้างฐานข้อมูลก่อนครับ เช่น ฐานข้อมูลชื่อ workshop_pdo จากนั้นไปที่เมนู sql คัดลอกโค้ดไปวางและ go
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 |
CREATE TABLE `tbl_product` ( `no` int(11) NOT NULL, `product_name` varchar(100) NOT NULL, `product_price` int(16) NOT NULL, `product_img` varchar(100) NOT NULL, `product_qty` int(10) NOT NULL COMMENT 'qty' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tbl_product` (`no`, `product_name`, `product_price`, `product_img`, `product_qty`) VALUES (1, 'Ford Mustang 2021', 4500000, 'prd.jpg', 10), (2, 'Ford Mustang 2021', 4500000, 'prd.jpg', 5), (3, 'Ford Mustang 2021', 6500000, 'prd.jpg', 0), (4, 'Ford Mustang 2021', 4500000, 'prd.jpg', 3), (5, 'Ford Mustang 2021', 5500000, 'prd.jpg', 0), (6, 'Ford Mustang 2021', 4500000, 'prd.jpg', 20), (7, 'Ford Mustang 2021', 4500000, 'prd.jpg', 0), (8, 'Ford Mustang 2021', 4500000, 'prd.jpg', 20); ALTER TABLE `tbl_product` ADD PRIMARY KEY (`no`); ALTER TABLE `tbl_product` MODIFY `no` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9; |
**ปล. หารูปมาใส่เองนะครับ ใส่ไว้ในโฟลเดอร์ upload ชื่อไฟล์ prd.jpg
2.สร้างโฟลเดอร์สำหรับทดสอบ เช่น ชื่อโฟลเดอร์ workshop_pdo *สำหรับคนที่เพิ่งฝึกยังไม่เข้าใจข้อนี้ว่าต้องสร้างไว้ที่ไหน ให้ดูคลิปชุดนี้ก่อน รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
3.ไฟล์เชื่อมต่อฐานข้อมูล ชื่อไฟล์ connect.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php $servername = "localhost"; $username = "root"; $password = ""; try { $conn = new PDO("mysql:host=$servername;dbname=workshop_pdo;charset=utf8", $username, $password); // set the PDO error mode to exception $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } //Set ว/ด/ป เวลา ให้เป็นของประเทศไทย date_default_timezone_set('Asia/Bangkok'); ?> |
4.สร้างโฟลเดอร์สำหรับเก็บไฟล์ภาพ ชื่อ upload (ตั้งตาม code บรรทัด 54)
5.ไฟล์ workshop ตั้งชื่อ product_list.php *มีคอมเม้นเพิ่มเติมใน 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 |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous"> <title>Basic PHP PDO ระบบแจ้งเมื่อสินค้าใกล้หมดสต๊อก by devbanban.com 2021</title> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"> <br> <h3>รายการสินค้า *ตัวอย่างการสร้างเงื่อนไขตรวจสอบสต๊อกสินค้า</h3> <b>สีฟ้า = เหลือ >= 10 , สีเหลือง = เหลือ <= 5 , สีแดง = สินค้าหมด </b> <table class="table table-hover table-responsive table-bordered"> <thead> <tr class="table-dark"> <th width="5%">ลำดับ</th> <th width="10%">ภาพ</th> <th width="65%">ชื่อสินค้า</th> <th width="10%" class="text-center">ราคา</th> <th width="10%" class="text-center">QTY</th> </tr> </thead> <tbody> <?php //เรียกไฟล์เชื่อมต่อฐานข้อมูล require_once 'connect.php'; //คิวรี่ข้อมูลมาแสดงในตาราง $stmt = $conn->prepare("SELECT* FROM tbl_product"); $stmt->execute(); $result = $stmt->fetchAll(); foreach($result as $row) { //สร้างเงื่อนไขตรวจสอบจำนวนคงเหลือในสต๊อกสินค้า if($row['product_qty'] == 0){ //สินค้าหมด $tableClass = "table-danger"; $txtTitle = "<font color='red'> สินค้าหมด !! </font>"; }elseif($row['product_qty'] <= 5) { //สินค้ากำลังจะหมด $tableClass = "table-warning"; $txtTitle = ""; }else{ //เหลือ > 10 ชิ้น $tableClass = "table-info"; $txtTitle = ""; } ?> <tr> <td><?= $row['no'];?></td> <td><img src="upload/<?= $row['product_img'];?>" width="60%"></td> <td><?= $row['product_name'];?></td> <td align="right"><?= number_format($row['product_price'],2);?></td> <td align="center" class="<?= $tableClass;?>"> <?=$row['product_qty'];?> <br> <?=$txtTitle;?> </td> <?php } ?> </tbody> </table> <br> <center>Basic PHP PDO ระบบแจ้งเมื่อสินค้าใกล้หมดสต๊อก by devbanban.com 2021 <br> คอร์สออนไลน์ <a href="https://devbanban.com/?cat=250" title="click">click</a> </center> </div> </div> </div> </body> </html> |
6.ผลการทำงาน
ลองเอาไปประยุกต์ใช้ดูครับ และฝากติดตาม workshop ต่อๆ ไปด้วยครับผม
Bootstrap5 : https://getbootstrap.com/
ฝึก SQL : https://www.w3schools.com/sql/default.asp
แหล่งศึกษา PDO เพิ่มเติม : https://websitebeaver.com/php-pdo-vs-mysqli
List of PDOStatement::bindParam data_type parameters : https://www.php.net/manual/en/pdo.constants.php
ขอแนะนำระบบพร้อมใช้งาน *รายละเอียดและราคาอยู่ใต้คลิป
ระบบพร้อมใช้ทั้งหมด คลิก
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/