สวัสดีครับ ในบทความนี้จะแจก Code PHP PDO Display data in Radio Button : Workshop แสดงข้อสอบ ตัวอย่าง Code สามารถเอาไปประยุกต์ใช้ทำระบบสอบออนไลน์ และแบบสอบถามครับ ฝึกไว้ครับ เผื่อได้ใช้ ตัวโค้ดรองรับ PHP7 – PHP8
ขอแนะนำระบบพร้อมใช้ ราคาถูก ได้ Code + Database ทั้งหมด
1.เว็บอีคอมเมิร์ช คลิก
2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก
3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก
4.เว็บบริษัท / เว็บองค์กร คลิก
5.ระบบหอพัก โปรแกรมหอพัก คลิก
6.ระบบยืมคืน เบิกจ่ายพัสดุ ครุภัณฑ์ คลิก
7.ระบบแจ้งซ่อมสำหรับองค์กร คลิก
8.ระบบฐานข้อมูลวิจัย คลังข้อมูลวิจัย ฐานข้อมูลวิทยานิพนธ์ Research Corpus คลิก
9.ระบบสอบออนไลน์ คลิก
10.ระบบอื่นๆ เพิ่มเติม คลิก
*ตัวอย่างระบบสอบออนไลน์ ที่มีการใช้ Radio Button สำหรับให้เลือกคำตอบ
รวมคลิปสอนปรับพื้นฐาน ภาษา php ฟรี 100 คลิป ++ https://devbanban.com/?p=3940
โค้ดประกอบด้วย
- PHP PDO
- MySQL SQL Query
- HTML
- Bootstrap5 Class : col, form, btn
มาเริ่มทำ workshop กันครับ *คอมเม้นอยู่ในโค้ด
0.รวม Workshop PHP PDO ก่อนหน้าคลิก
1.ตารางข้อมูลตัวอย่างจะชื่อ tbl_questions ให้สร้างฐานข้อมูลก่อนครับ เช่น ฐานข้อมูลชื่อ workshop_pdo จากนั้นไปที่เมนู sql คัดลอกโค้ดไปวางและ go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
CREATE TABLE `tbl_questions` ( `no` int(11) NOT NULL, `question` varchar(300) NOT NULL, `choice_a` varchar(200) NOT NULL, `choice_b` varchar(200) NOT NULL, `choice_c` varchar(200) NOT NULL, `choice_d` varchar(200) NOT NULL, `answer` varchar(1) NOT NULL COMMENT 'เฉลย' ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `tbl_questions` (`no`, `question`, `choice_a`, `choice_b`, `choice_c`, `choice_d`, `answer`) VALUES (1, 'ข้อใดต่อไปนี้ไม่ใช่ระบบปฏิบัติการ (OS)', 'Microsoft Windows', 'OSX', 'Samsung', 'Android', 'c'), (2, 'ข้อใดต่อไปนี้ไม่ใช่ภาษาโปรแกรมมิ่ง', 'PHP', 'JAVA', 'JAVASCRIPT', 'Star War', 'd'); ALTER TABLE `tbl_questions` ADD PRIMARY KEY (`no`); ALTER TABLE `tbl_questions` MODIFY `no` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; |
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 = "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.ไฟล์ workshop ตั้งชื่อ displayDATAinRadio.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 |
<?php //เรียกไฟล์เชื่อมต่อฐานข้อมูล require_once 'connect.php'; //คิวรี่ข้อมูลไปแสดงในฟอร์ม $stmtq = $conn->prepare("SELECT no, question, choice_a, choice_b, choice_c, choice_d FROM tbl_questions ORDER BY no ASC"); $stmtq->execute(); $rsq = $stmtq->fetchAll(); ?> <!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 Display data in Radio Button by devbanban.com 2022</title> </head> <body> <div class="container"> <div class="row"> <div class="col-md-12"> <br> <h3>PHP PDO Display data in Radio Button <br> Workshop แสดงข้อสอบ </h3> <form method="post"> <!-- loop โดยใช้ foreach --> <?php foreach ( $rsq as $row) { ?> <div class="row"> <div class="col-sm-12"> <!-- แสดงคำถาม ---> <b> คำถาม : <?=$row['question'];?> </b> </div> <div class="col-sm-12" style="margin-left: 50px;"> <!-- แสดงรายการตัวเลือก ---> <input type="radio" name="q[<?=$row['no'];?>]" required value="a"> A : <?=$row['choice_a'];?> <br> <input type="radio" name="q[<?=$row['no'];?>]" required value="b"> B : <?=$row['choice_b'];?> <br> <input type="radio" name="q[<?=$row['no'];?>]" required value="c"> C : <?=$row['choice_c'];?> <br> <input type="radio" name="q[<?=$row['no'];?>]" required value="d"> D : <?=$row['choice_d'];?> <br> </div> </div> <?php } ?> <div class="row"> <div class="d-grid gap-2 col-sm-4"> <br> <button type="submit" class="btn btn-success">ส่งคำตอบ</button> </div> </div> <br> </form> <br> <b> ตัวอย่างระบบสอบออนไลน์ </b><br> <iframe width="560" height="315" src="https://www.youtube.com/embed/WOTLFEflkMk" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> <br> <center>Basic PHP PDO Display data in Radio Button Workshop แสดงข้อสอบ by devbanban.com 2022</center> </div> </div> </div> </body> </html> <?php if (isset($_POST['q'])) { echo '<pre>'; print_r($_POST); echo '</pre>'; } //รวม workshop PHP PDO ทั้งหมดสำหรับเข้าไปศึกษาและต่อยอด https://devbanban.com/?cat=409 //รวมระบบพร้อมใช้ ได้ Code ทั้งหมด เอาไปต่อยอดได้ ราคาไม่แพง https://devbanban.com/?p=4425 //คอร์สออนไลน์ เรียนได้ตลอดชีพ https://devbanban.com/?cat=250 //devbanban.com ?> |
5.ผลการทำงาน
ลองเอาไปประยุกต์ใช้ดูครับ และฝากติดตาม 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/