สวัสดีครับ ในบทความนี้จะขอแนะนำ JsBarcode : Easy to use, yet powerful barcode generator for the web ซึ่งเป็น JS Library ที่ใช้ในการสร้างบาร์โค้ดออกมาเพื่อใช้งานในระบบต่างๆ ที่จำเป็นต้องมีการยิงบาร์โค้ดเพื่อนำเข้าข้อมูล เช่น ระบบห้องสมุด และ ระบบ POS (Point of Sale) เป็นต้น
ขายโปรแกรม ลดสูงสุด 70%
ขายระบบสารสนเทศออนไลน์ พร้อมใช้ ราคาเบาๆ ได้โค้ดทั้งหมด นำไปต่อยอดได้
สินค้าทั้งหมด คลิก https://devbanban.com/?p=4425
ซื้อแล้วปรึกษาได้เรื่อยๆ ครับ
สนใจ inbox มาที่แฟนเพจ หรือ ☎️ 0948616709
fanpage : https://www.facebook.com/sornwebsites/
ขอแนะนำระบบพร้อมใช้ ราคาถูก ได้ Code + Database ทั้งหมด
1.เว็บอีคอมเมิร์ช คลิก
2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก
3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก
4.เว็บบริษัท / เว็บองค์กร คลิก
5.ระบบหอพัก โปรแกรมหอพัก คลิก
6.ระบบยืมคืน เบิกจ่ายพัสดุ ครุภัณฑ์ คลิก
7.ระบบแจ้งซ่อมสำหรับองค์กร คลิก
8.ระบบฐานข้อมูลวิจัย คลังข้อมูลวิจัย ฐานข้อมูลวิทยานิพนธ์ Research Corpus คลิก
9.ระบบสอบออนไลน์ คลิก
10.ระบบอื่นๆ เพิ่มเติม คลิก
ขอแนะนำ ระบบห้องสมุด ระบบฐานข้อมูลหนังสือ พัฒนาด้วย PHP PDO MySQL เหมาะสำหรับเอาไปใช้งานในห้องสมุดโรงเรียน, ชุมชน, วัด, มหาวิทยาลัย, ไว้สำหรับยืม-คืนเล่มสารนิพนธ์ในสาขาวิชาต่างๆ หรือห้องสมุดขนาดเล็กไปจนถึงขนาดกลาง
ขอบเขตระบบ
พัฒนาด้วยภาษา PHP PDO, AdminLTE, Sweet Alert, Database : MySQL รองรับ PHP7 – PHP8
การทำงานของระบบมีดังนี้
*Admin/ผู้ดูแลระบบ
-Login / Logout
-ดูหน้า Dashboard (รายงาน)
-จัดการข้อมูล Admin/บรรณารักษ์ (เพิ่ม ลบ แก้ไข รีเซตรหัสผ่าน)
-จัดการข้อมูลสมาชิก (เพิ่ม ลบ แก้ไข รีเซตรหัสผ่าน)
-จัดการสถานะการยืมหนังสือ (แก้ไขชื่อสถานะ)
-จัดการกำหนดจำนวนวันที่ให้ยืมหนังสือ (แก้ไขจำนวนวัน)
*บรรณารักษ์
-Login / Logout
-ดูหน้า Dashboard (รายงาน)
-แก้ไขโปรไฟล์
-แก้ไขรหัสผ่าน
-จัดการข้อมูลที่เก็บหนังสือ (เพิ่ม ลบ แก้ไข)
-จัดการข้อมูลหมวดหมู่หนังสือ (เพิ่ม ลบ แก้ไข)
-จัดการข้อมูลหนังสือ (เพิ่ม ลบ แก้ไข)
-ดูงบประมาณที่ใช้ในการซื้อหนังสือแต่ละปี
-พิมพ์บาร์โค้ด (Barcode)
-ปรับสถานะหนังสือ
-บันทึกการยืมหนังสือ (คีย์รหัสสมาชิก และยิงบาร์โค้ดเพื่อยืมหนังสือ)
-บันทึกการคืนหนังสือ (คีย์รหัสสมาชิกและจะแสดงรายชื่อหนังสือที่ยังไม่คืน)
-บันทึกการรับค่าปรับ (Ajax Modal)
-ดูประวัติการยืม-คืนหนังสือทั้งหมด
-ดูข้อมูลสมาชิกและประวัติการยืมหนังสือ
-ดูรายการสมาชิกที่เสียค่าปรับมากที่สุด 5 อันดับ
*สมาชิก
-Login / Logout
-แก้ไขโปรไฟล์
-แก้ไขรหัสผ่าน
-ดูประวัติการยืม-คืนหนังสือและค่าปรับ
*ฐานข้อมูล ประกอบด้วย 7 ตาราง ได้แก่
1.ตารางบุคคลากร/สามาชิก
2.ตารางหมวดหมู่
3.ตารางที่เก็บหนังสือ
4.ตารางสถานะ
5.ตารางหนังสือ
6.ตารางเก็บข้อมูลการยืม/คืน
7.ตารางกำหนดจำนวนวันให้ยืม
demo : https://devbanban.com/app/library/
ค่าตัวระบบ : 12,900 บาท ได้ Code & Database ทั้งหมด เอาไปติดตั้งใช้งานได้เลย หรือเอาพัฒนาต่อยอดได้เต็มที่
*สมาชิก devbanbanVIP มีส่วนลด inbox. แฟนเพจ https://www.facebook.com/sornwebsites/
เวลา 10.00 – 20.00 น. เปิดบริการทุกวัน
- ติดตั้งง่าย
- ใช้ง่าย
- รองรับการใช้งานบน PHP7 และ PHP8
- มีตัวอย่างและคู่มือที่เข้าใจง่าย คลิก
- รองรับ Node.js
- และสามารถปรับแต่งให้เข้ากับระบบที่เราต้องการได้
ในหัวข้อต่อไปจะแนะนำการนำไปใช้งานร่วมกับภาษา PHP เขียนในรูปแบบ PDO และฐานข้อมูล MySQL ในการนำรหัสของหนังสือมาทำเป็นบาร์โค้ด เพื่อนำไปต่อยอดทำระบบห้องสมุดหรือเป็นแนวทางทำระบบอื่นๆ ที่ต้องใช้งานบาร์โค้ดครับ
รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
มาเริ่มทำ workshop กันครับ *คอมเม้นอยู่ในโค้ด
0.รวม Workshop PHP PDO ก่อนหน้าคลิก
1.ตารางข้อมูลตัวอย่างจะชื่อ tbl_book ให้สร้างฐานข้อมูลก่อนครับ เช่น ฐานข้อมูลชื่อ 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
CREATE TABLE `tbl_books` ( `book_id` int(8) UNSIGNED ZEROFILL NOT NULL, `ref_cat_id` int(11) NOT NULL, `book_name` varchar(255) NOT NULL, `book_detail` text NOT NULL, `book_author` varchar(200) NOT NULL COMMENT 'ผู้แต่ง', `book_year` int(4) NOT NULL COMMENT 'ปีที่แต่ง', `book_cover` varchar(100) NOT NULL COMMENT 'ภาพปก', `book_ISBN` varchar(30) DEFAULT NULL COMMENT 'เลข ISBN', `book_price` int(11) NOT NULL COMMENT 'ราคาหนังสือ', `ref_s_id` int(1) NOT NULL COMMENT 'status_id', `ref_place_id` int(11) NOT NULL COMMENT 'รหัสที่อยู่หนังสือ', `book_delete` int(1) NOT NULL DEFAULT 0 COMMENT '0 ปกติ 1 ลบ', `date_create` timestamp NOT NULL DEFAULT current_timestamp(), `fines` int(2) NOT NULL DEFAULT 0 COMMENT 'ค่่าปรับ/วัน' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tbl_books` (`book_id`, `ref_cat_id`, `book_name`, `book_detail`, `book_author`, `book_year`, `book_cover`, `book_ISBN`, `book_price`, `ref_s_id`, `ref_place_id`, `book_delete`, `date_create`, `fines`) VALUES (00000001, 1, 'คอมพิวเตอร์พื้นฐาน 01', 'คอมพิวเตอร์พื้นฐาน', 'กก ขขข', 2564, '116662389420221031_135308.jpg', 'de1101100', 190, 1, 1, 0, '2021-10-31 06:52:22', 5), (00000002, 1, 'คอมพิวเตอร์พื้นฐาน 02', 'คอมพิวเตอร์พื้นฐาน', 'Dev', 2565, '116662389420221031_135308.jpg', 'abce1234', 222, 1, 1, 0, '2021-10-31 06:53:08', 5), (00000003, 1, 'ภาษา PHP', 'ภาษา PHP', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2021-10-31 07:02:03', 5), (00000004, 1, 'ภาษาซี 1', 'ภาษาซี 1', 'ผู้แต่ง1', 2561, '116662389420221031_135308.jpg', 'wwwww', 222, 1, 1, 0, '2021-10-31 06:52:22', 5), (00000005, 1, 'ภาษาซี 2', 'ภาษาซี 2', 'ผู้แต่ง2', 2562, '116662389420221031_135308.jpg', 'wwwww', 222, 1, 1, 0, '2021-10-31 06:53:08', 7), (00000006, 1, 'ภาษา PHP1', 'ภาษา PHP1', 'devbanban1', 2565, '186379977420221031_143247.jpg', '111', 200, 1, 1, 0, '2021-10-31 07:02:03', 5), (00000007, 3, 'ภาษาอังกฤษ1', 'ภาษาอังกฤษ1', 'ABC', 2564, '133467236920221031_143435.jpg', 'dedd12122', 399, 1, 3, 0, '2022-10-31 07:34:35', 5), (00000008, 5, 'ภาษาจีน1', 'ภาษาจีน1', 'จีน', 2564, '69428568120221102_125039.jpg', 'abc1100', 289, 1, 9, 0, '2022-11-02 05:50:39', 5), (00000009, 1, 'สอน Bootstrap5', 'Bootstrap5', 'Bootstrap5', 2565, '186379977420221031_143247.jpg', '111', 200, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000010, 1, 'สอน Bootstrap5 เล่ม 2', 'Bootstrap5', 'Bootstrap5', 2565, '186379977420221031_143247.jpg', '111', 200, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000011, 1, 'สอน Bootstrap5 เล่ม 3', 'Bootstrap5', 'Bootstrap5', 2565, '186379977420221031_143247.jpg', '111', 200, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000012, 1, 'ภาษา PHP พื้นฐาน 1', 'ภาษา PHP', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000013, 1, 'ภาษา PHP พื้นฐาน 2', 'ภาษา PHP', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000014, 1, 'ภาษา PHP ระดับกลาง 1', 'ภาษา PHP', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000015, 1, 'ภาษา PHP ระดับกลาง 2', 'ภาษา PHP', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000016, 1, 'ภาษา SQL', 'ภาษา SQL ', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000017, 1, 'ภาษา SQL ระดับกลาง', 'ภาษา SQL ', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000018, 1, 'ภาษา SQL ระดับสูง', 'ภาษา SQL ', 'devbanban', 2565, '43052692820221031_140203.jpg', '', 199, 1, 1, 0, '2022-10-31 07:02:03', 5), (00000019, 1, 'การเขียนภาษา HTML เบื้องต้น', 'การเขียนภาษา HTML เบื้องต้น', 'นายทดสอบแต่ง', 2565, '171878529520230103_150750.jpg', 'html001', 199, 1, 1, 0, '2023-01-03 08:07:50', 5), (00000020, 1, 'การเขียนภาษา PHP ขั้นสูง เล่ม 3', 'การเขียนภาษา PHP ขั้นสูง เล่ม 3', 'นายทดสอบแต่ง', 2565, '171878529520230103_150750.jpg', 'html001', 345, 1, 1, 0, '2023-01-12 07:07:50', 5), (00000021, 5, 'ภาษาจีน2', 'ภาษาจีน2', 'จีน', 2565, '69428568120221102_125039.jpg', 'abc1100', 399, 1, 5, 0, '2023-01-12 05:50:39', 5); ALTER TABLE `tbl_books` ADD PRIMARY KEY (`book_id`); ALTER TABLE `tbl_books` MODIFY `book_id` int(8) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=22; |
2. Full Code barcode.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 |
<?php //connect database $servername = "localhost"; $username = "root"; $password = ""; try { $condb = new PDO("mysql:host=$servername;dbname=workshop_pdo;charset=utf8", $username, $password); // set the PDO error mode to exception $condb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } //query tbl_book $stmtb = $condb->prepare("SELECT * FROM tbl_books"); $stmtb->execute(); $rsb= $stmtb->fetchAll(); ?> <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>BJsBarcode by devbanban.com 2023</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.11.5/dist/JsBarcode.all.min.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col-sm-6"> <h4>JsBarcode</h4> <table class="table table-bordered"> <thead> <tr> <th width="5%">id</th> <th width="65%">Book name</th> <th width="30%">BARCODE</th> </tr> </thead> <tbody> <?php foreach ($rsb as $row) { ?> <tr> <td><?=$row['book_id'];?></td> <td> <?=$row['book_name'];?> </td> <td align="center"> <?=$row['book_name'];?> <br> <svg class="barcode" jsbarcode-format="CODE128" jsbarcode-value="<?=$row['book_id'];?>" jsbarcode-textmargin="0" jsbarcode-fontoptions="normal"> </svg> </td> </tr> <?php } ?> </tbody> </table> </div> </div> </div> <script type="text/javascript"> JsBarcode(".barcode").init(); </script> </body> </html> doc : https://lindell.me/JsBarcode/ <br> code by devbanban.com 2023 |
3.ผลการทำงาน
ศึกษาข้อมูลเพิ่มเติมได้ที่ https://lindell.me/JsBarcode/
ลองเอาไปประยุกต์ใช้ดูครับ และฝากติดตาม 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/