สวัสดีครับในบทความนี้จะแนะนำระบบเช็คชื่อออนไลน์ที่เขียนด้วยภาษา PHP โดยใช้เฟรมเวิร์ค Codeigniter 3.1.11 รองรับการทำงานบน PHP7 จาก devbanban.com ครับ จะมีแจก code ตั้งต้นให้และต้องทำตามคลิปสอนเพิ่มเติมเพื่อให้ระบบสมบูรณ์มากยิ่งขึ้น *และต้องดูคลิปสอนระบบแจ้งซ่อมมาก่อน ตั้งแต่ v0.2 ไปจนถึง v0.5 ถึงจะมีโค้ดตัวอย่างบางส่วนด้วยครับ
คลิปสอนระบบแจ้งซ่อม https://bit.ly/32IaNaf
ระบบเช็คชื่อออนไลน์ พัฒนาด้วย Codeigniter 3.1.11 รองรับ PHP5.6 – 7.4
ตารางมี 5 ตาราง : ตารางเก็บข้อมูลอาจารย์, ตารางเก็บข้อมูลวิชา, ตารางเก็บข้อมูลนักศึกษา, ตารางเก็บข้อมูลการลงทะเบียน, ตารางเก็บข้อมูลการเช็คชื่อ
ขอบเขตระบบ
*นักศึกษา : ดูข้อมูลวิชา, ลงทะเบียนสำหรับให้อาจารย์เช็คชื่อแต่ละวิชา (หนึ่งวิชาลงได้ 1 ครั้ง)
*อาจารย์ : Login-Logout, แก้ไขโปรไฟล์, แก้ไขรหัสผ่าน, เพิ่ม ลบ แก้ไข ข้อมูลวิชา, เช็คชื่อ และดูประวัติ, ดูรายงาน dashboard
*ระบบนี้ใช้ได้กับอาจารย์ 1 คนเท่านั้น และส่วนอื่นๆ ที่ไม่ได้กล่าวข้างต้น คือ ยังไม่มี ต้องนำไปพัฒนาเพิ่มครับ
demo : https://devbanban.com/app/makub/
สอบถามข้อมูลเพิ่มเติม inbox มาที่แฟนเพจ . https://www.facebook.com/sornwebsites
________________
สนใจ Code ตัวเต็ม (Ep.1-29) สนับสนุน 2,500 บาท ได้ code & database ทั้งหมด
โอนเงินมาที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
————————————————————————————
ธนาคารกสิกร สาขาเออร์เบิร์น สแควร์ ประชาชื่น
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 048-1-17571-2
ส่งหลักฐานการโอนเงินมาที่ https://www.facebook.com/sornwebsites
เมื่อตรวจสอบเสร็จจะรีบส่งลิงค์โค้ดให้ดาวน์โหลดครับ
หรือโทร. 0948616709 เวลา 10.00 – 20.00 น.
ปล. ไม่อยากเสียเงินให้ทำตามฟรีคลิปได้เลยครับ
คลิปสอนทั้งหมด : คลิก.
รายชื่อคลิปสอนดังต่อไปนี้
**กรุณาดูคลิป และทำตามไปด้วยครับ ถึงจะใช้งานได้
-Ep.1 แสดงการทำงานของระบบเบื้องต้น
-Ep.2 อธิบายฐานข้อมูล
-Ep.3 แนะนำการ Config และติดตั้งระบบ
-Ep.4 แนะนำโค้ดแต่ละส่วน และแจกโค้ดตั้งต้น Code ตั้งต้น : Download Click
-Ep.5 สอนทำหน้าแสดงรายละเอียดการเช็คชื่อจากฐานข้อมูล
-Ep.6 สอนทำระบบแก้ไขการเช็คชื่อ
-Ep.6.1 แก้ bug คิวรี่ระบบแก้ไขการเช็คชื่อ
-Ep.7 redirect ไปหน้าแสดงรายละเอียดการเช็คชื่อกรณีเช็คชื่อซ้ำ
-Ep.8 สอนออกแบบเทมเพลตเข้าดูประวัติการเช็คชื่อ
-Ep.9 Query ข้อมูลวันที่เช็คชื่อมาแสดง
-Ep.10 สอนทำหน้าแสดงประวัติการเช็คชื่อ
-Ep.11 สอนทำสรุปข้อมูลการมาเรียน
-Ep.12 แนะนำคลิปและโค้ดทำระบบเพิ่ม ลบ แก้ไข แสดง (CRUD)
-Ep.13 แนะนำคลิปและโค้ดทำระบบ Login-Logout
-Ep.14.1 สอนทำระบบเพิ่มข้อมูลวิชา
-Ep.14.2 สอนทำระบบแก้ไขข้อมูลวิชา
-Ep.14.3 สอนทำระบบลบข้อมูลวิชา
-Ep.14.4 สอนสร้างเงื่อนไขซ่อนปุ่มลบข้อมูลวิชา
-Ep.15.1 สอนสร้างฟอร์ม Login
-Ep.15.2 สอนทำระบบ Login
-Ep.15.3 สอนทำระบบกำหนดสิทธิ์การเข้าใช้งาน User Role
-Ep.15.4 สอนทำระบบ Logout
-Ep.15.5 สอนสร้างเงื่อนไขซ่อน/แสดงเมนู Login – Logout
-Ep.16 ระบบแก้ไขโปรไฟล์อาจารย์
-Ep.17 ระบบแก้ไขรหัสผ่าน
-Ep.18 เรียกข้อมูลรายวิชามาแสดงหน้าบ้าน
-Ep.19 หน้าแสดงรายละเอียดวิชา
-Ep.20.1 สอนทำระบบบลงทะเบียน
-Ep.20.2 สอนทำระบบบลงทะเบียน และป้องกันข้อมูลซ้ำ
-Ep.20.3 สอนทำระบบบลงทะเบียน เพิ่มข้อมูลเข้า 2 ตาราง
-Ep.21 แก้ไขการแสดงข้อมูล นศ. (แสดงรหัส นศ.)
-Ep.22 ระบบลบข้อมูล นศ.
-Ep.23 ระบบกำหนดเวลาลงทะเบียน เพิ่มคอลัมภ์ และ สร้างเงื่อนไข (หน้าบ้าน)
-Ep.24 ระบบเพิ่มข้อมูลกำหนดเวลาลงทะเบียน
-Ep.25 ระบบแก้ไขกำหนดเวลาลงทะเบียน
-Ep.26.1 แนะนำตัวอย่างหน้า Dashboard
-Ep.26.2 สอนออกแบบหน้า Dashboard
-Ep.26.3 สอนทำ Dashboard – คิวรี่ข้อมูลบน phpmyadmin
-Ep.26.4 สอนทำ Dashboard เรียกข้อมูลจาก database
-Ep.26.5 สอนทำ Dashboard เรียกข้อมูลจาก database มาแสดงในกราฟเส้น
-Ep.27 สรุป
-Ep.28 แนะนำส่วนที่มีการอัพเดทเพิ่ม หน้าแสดงสรุปการเช็คชื่อ
-Ep.29 หน้าสรุปการเช็คชื่อ (มี code ให้)
-Ep.30 สรุป V1.0
———–
คลิปพิเศษเพิ่มเติม (ไม่ต้องทำตามก็ได้)
-Ep.31 แก้ระบบเช็คชื่อ บันทึกรหัสนักศึกษาแทนการเก็บไอดีนักศึกษา
-Ep.32-1 แก้ไขหน้าแสดงรายละเอียดการเช็คชื่อ (หลังจากเช็คชื่อแล้ว)
-Ep.32-2 แก้ไขหน้าแสดงประวัติการเช็คชื่อ
-Ep.32-3 แก้ไขหน้าแสดงประวัติการเช็คชื่อแบบรายวัน
คลิปสอนทั้งหมด :
Code EP29 ดูคลิปด้วยครับ
Models
|
public function querySummary($ref_s_id) { $this->db->select('c.*,s.*'); $this->db->from('tbl_checkin as c '); $this->db->join('tbl_std as s','c.ref_std_id=s.std_id'); $this->db->where('c.ref_s_id', $ref_s_id); $this->db->group_by('c.ref_std_id, c.check_in_date'); $this->db->order_by('c.ref_std_id, c.check_in_date', 'ASC'); $query = $this->db->get(); return $query->result(); } |
Controllers
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
|
public function checkInHistory($s_id) { $teacher_id = $_SESSION['teacher_id']; $data['rsteacher']=$this->data_model->queryTeacherDetail($teacher_id); $data['rssubject']=$this->data_model->querySubjectDetail($s_id); $data['rsdate']=$this->data_model->queryListDate($s_id); //summary $data['rs']=$this->data_model->querySummary($s_id); //จัดการข้อมูลหน้าแสดงรายการสรุป $data_date = []; $data_array = []; foreach($data['rs'] as $key => $row) { $data_array[$row->std_code.' '.$row->std_name][$row->check_in_date][] = $row->check_in_status; if(!empty($data_date)){ if(!in_array($row->check_in_date, $data_date)){ $data_date[] = $row->check_in_date; }else{ continue; } }else{ $data_date[] = $row->check_in_date; } } //ส่ง data ไปใช้ใน view $data['data_date'] = $data_date; $data['data_array'] = $data_array; // print_r($data_date); // exit; $this->load->view('template/header'); $this->load->view('history_checkin_view', $data); $this->load->view('template/footer'); } |
views
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
|
<!-- start summary --> <h3>ตารางสรุปการมาเรียน วิชา <?=$rssubject->s_name;?></h3> <table class="table table-bordered table-striped"> <thead> <tr class="danger"> <th>ชื่อ สกุล</th> <?php //date chekckin foreach ($data_date as $key => $rowx) { ?> <th class="text-center"><?php echo date('d/m/Y', strtotime($rowx));?></th> <?php }?> <th class="text-center">รวม(มา)</th> <th class="text-center">รวม(ขาด)</th> </tr> </thead> <tbody> <?php //มา/ ขาด foreach ($data_array as $key1 => $std) { ?> <tr> <td><?php echo $key1;?></td> <?php //ประกาศตัวแปรเพื่อเอาไปหาผลรวม $totalCamex=0; $totalAbsentx=0; foreach ($std as $key2 => $checkx) { ?> <td align="center"> <?php //มา if($checkx[0] == 1){ $totalCame = $checkx[0] == 1; $totalCame=1; $totalCamex += $totalCame; ?> <font color="green"> มา </font> <?php }else{ //ขาด $totalAbsent = $checkx[0] == 0; $totalAbsent=1; $totalAbsentx += $totalAbsent; ?> <font color="red"> ขาด </font> <?php } ?> </td> <?php } ?> <td align="center"><font color="green"><b><?=$totalCamex;?></b></font></td> <td align="center"><font color="red"><b><?=$totalAbsentx;?></b></font></td> </tr> <?php } ?> </tr> </tbody> </table> <!-- end summary --> |
Note เทคนิคเพิ่มเติมสำหรับ Codeigniter 3.1.11 * form validation ทำอะไรได้หลายอย่างมากๆ ไปดูกัน
- แสดง error จาก form validation เป็นภาษาไทย
จากเดิมใช้
|
$this->form_validation->set_rules('Username', 'Username', 'trim|required|min_length[3]'); |
ถ้าไม่เป็นไปตามกฎจะแสดง error เป็นภาษาอังกฤษ
แต่ต้องการแสดงเป็นภาษาไทยเปลี่ยนเป็น
|
$this->form_validation->set_rules('Username', 'Username', 'trim|required|min_length[4]', array('required' => 'กรุณากรอกข้อมูล %s.', 'min_length' => 'กรุณากรอกข้อมูลขั้นต่ำ 4 ตัว')); |
อย่าลืม echo ใน views ด้วยละ
|
//ไว้ใต้ input <?php echo form_error('Username'); ?> //หรือโค้ดนี้วางไวับน tag form จะแสดง error ทั้งหมดที่ผิดกฏ form validation <?php echo validation_errors(); ?> |
- ป้องกันเพิ่มข้อมูลซ้ำด้วย form validation เช่น ป้องกันเพิ่ม Username ซ้ำ ให้ใช้ code ตามด้านล่างนี้ หรืออาจปรับคอลัมภ์นี้เป็น Unique ก็สามารถใช้ได้เหมือนกัน คือ ห้ามเหมือน ห้ามซ้ำนั้นเอง และใน 1 ฟอร์มสามารถเช็คได้หลายคอลัมภ์ และอย่าลืมไป echo ใน views ตามข้อด้านบนด้วยจ้า
|
$this->form_validation->set_rules('Username', 'Username', 'trim|required|is_unique[tbl_member.Username]', array('required' => 'กรุณากรอกข้อมูล %s.', 'is_unique' =>'Username ซ้ำ ')); |
- แสดง erorr กรอกรหัสผ่านไม่ตรงกัน
|
$this->form_validation->set_rules('Password', 'Password', 'trim|required|min_length[3]'); $this->form_validation->set_rules('Password2', 'Password Confirmation', 'trim|required|matches[Password]', array('required' => 'กรุณากรอกข้อมูล %s.', 'matches' =>'Password ไม่ตรงกัน')); |
- ตัวอย่างการสร้างฟังก์ชั่นคิวรี่เหมือนบน phpMyAdmin
|
//แสดงข้อมูลการเช็คชื่อเฉพาะวันที่ปัจจุบัน public function EasyQuery() { $sql ="SELECT * FROM tbl_checkin WHERE check_in_date= curdate()"; $rs = $this->db->query($sql)->result(); return $rs; } |
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
fanpage : https://www.facebook.com/sornwebsites/
Related

สวัสดีครับ ในบทความนี้จะแจกโค้ด ระบบสายตรงผู้บริหาร พัฒนาด้วย Codeigniter3.1.11 ซึ่งเป็นเว็บเฟรมเวิร์คภาษา PHP ทำงานร่วมกับฐานข้อมูล MySQL รองรับการใช้งานบน PHP5.6 ไปจนถึง 7.4 รายการระบบพร้อมใช้ : https://devbanban.com/?p=4425 รายการคอร์สออนไลน์ : https://devbanban.com/?cat=250 ส่วนประกอบของระบบที่แจก ฟอร์มแจ้งข้อมูล ออกแบบด้วย Bootstrap มี sweet alert เมื่อบันทึกข้อมูลสำเร็จ ระบบหลังบ้าน (Backend) ใช้ AdminLTE หน้าแสดงรายละเอียดการแจ้งในรูปแบบตาราง (data table) อื่นๆ สามารถนำไปต่อยอดได้เต็มที่ คลิปแนะนำระบบ https://www.youtube.com/watch?v=x6E7segBkwg โค้ดดังกล่าว แจกให้สำหรับเอาไปศึกษาและพัฒนาต่อยอดครับ *เปิดดูคลิปด้วยนะครับ ในคลิปจะแนะนำส่วนต่างๆ ของระบบจะได้เข้าใจครับ ดาวน์โหลด : ระบบสายตรงผู้บริหาร คลิกเพื่อดาวน์โหลด รวมคลิปปรับพื้นฐาน…
In "Codeigniter"

PHP Mysql : แจกระบบ , ระบบแคตตาล็อกสินค้าพัฒนาจาก Adobe Dreamweaver CS6 + MySQL + Bootstrap3 รองรับการทำงานบน php5 แจกสำหรับให้เอาไปศึกษาและพัฒนาต่อยอดโดยไม่มีข้อผูกมัดครับ ขอแนะนำระบบพร้อมใช้ ราคาถูก ได้ Code + Database ทั้งหมด 1.เว็บอีคอมเมิร์ช คลิก 2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก 3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก 4.เว็บบริษัท / เว็บองค์กร คลิก 5.ระบบหอพัก โปรแกรมหอพัก คลิก 6.ระบบยืมคืน เบิกจ่ายพัสดุ ครุภัณฑ์ คลิก 7.ระบบแจ้งซ่อมสำหรับองค์กร คลิก 8.ระบบฐานข้อมูลวิจัย คลังข้อมูลวิจัย ฐานข้อมูลวิทยานิพนธ์ Research Corpus…
In "PHP"

แจกฟรี Bootstrap4 ฟรีเทมเพลต เว็บแคตตาล็อค สินค้าออนไลน์, Design category template with bootstrap v4 ขอแนะนำระบบพร้อมใช้ ราคาถูก ได้ Code + Database ทั้งหมด 1.เว็บอีคอมเมิร์ช คลิก 2.เว็บ FOOD POS ขายอาหารหน้าร้าน คลิก 3.เว็บ Coffee POS ขายกาแฟหน้าร้าน คลิก 4.เว็บบริษัท / เว็บองค์กร คลิก 5.ระบบหอพัก โปรแกรมหอพัก คลิก 6.ระบบยืมคืน เบิกจ่ายพัสดุ ครุภัณฑ์ คลิก 7.ระบบแจ้งซ่อมสำหรับองค์กร คลิก 8.ระบบฐานข้อมูลวิจัย คลังข้อมูลวิจัย ฐานข้อมูลวิทยานิพนธ์ Research Corpus คลิก 9.ระบบสอบออนไลน์ คลิก 10.ระบบอื่นๆ เพิ่มเติม…
In "Free Template"