แจกระบบแจ้งซ่อม, Helpdesk System สำหรับศึกษาและพัฒนาต่อยอด v0.3 รองรับ PHP5.6 – 7.4x ห้ามใช้กับ PHP8 นะครับ พัง!
Features
-พัฒนาด้วย CodeIgniter framework + Mysql + AdminLTE + Bootstrap4
เงื่อนไขการแจก
-แจก Source code ให้ไปศึกษาและพัฒนาต่อยอด แจกเป็นเวอร์ชั่น มีการอัพเดทเรื่อยๆ
V0.3 (#2)
Release Date: Apr 15, 2020 7.00 PM.
Features updates
Actors
– User => show case detail after adding.
Controllers
– Form => add Fn. detail
Models
– Data_model => add Fn. lastid, get_detail
Views
– change design and add navbar home/form_view.php
– add home/form_detail.php (show case detail after adding).
Databases
– tbl_case add column case_status int(1)
v0.2 https://devbanban.com/?p=3325
Download v0.2 : https://devbanban.com/helpdesk/
Code Updates
รองรับ PHP5.6 – 7.4x ห้ามใช้กับ PHP8 นะครับ พัง!
tbl_case
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 |
-- phpMyAdmin SQL Dump -- version 4.9.1 -- https://www.phpmyadmin.net/ -- -- Host: localhost -- Generation Time: Apr 15, 2020 at 04:32 AM -- Server version: 10.4.8-MariaDB -- PHP Version: 7.3.10 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET AUTOCOMMIT = 0; START TRANSACTION; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `project_helpdesk` -- -- -------------------------------------------------------- -- -- Table structure for table `tbl_case` -- CREATE TABLE `tbl_case` ( `id` int(11) NOT NULL, `case_type` varchar(100) NOT NULL, `case_detail` text NOT NULL, `case_loc` varchar(200) NOT NULL, `p_name` varchar(50) NOT NULL, `p_email` varchar(50) NOT NULL, `p_img` varchar(50) NOT NULL, `case_status` int(1) NOT NULL DEFAULT 1, `date_save` timestamp NOT NULL DEFAULT current_timestamp() ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Indexes for dumped tables -- -- -- Indexes for table `tbl_case` -- ALTER TABLE `tbl_case` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_case` -- ALTER TABLE `tbl_case` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
controllers/Form.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 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Form extends CI_Controller { public function __construct() { parent::__construct(); $this->load->model('data_model'); } public function index() { $this->load->view('home/header'); $this->load->view('home/form_view' , array('error' => ' ' )); $this->load->view('home/footer'); } public function adding() { // echo '<pre>'; // print_r($_POST); // echo '</pre>'; $this->form_validation->set_rules('case_type', 'ประเภทปัญหา', 'trim|required|min_length[1]', array('required' => 'กรุณากรอกข้อมูล %s.', 'min_length' => 'กรุณากรอกข้อมูลขั้นต่ำ 1 ตัว')); $this->form_validation->set_rules('case_detail', 'รายละเอียดปัญหา', 'trim|required|min_length[5]', array('required' => 'กรุณากรอกข้อมูล %s.','min_length' => 'กรุณากรอกข้อมูลขั้นต่ำ 5 ตัว')); $this->form_validation->set_rules('case_loc', 'สถานที่', 'trim|required|min_length[5]', array('required' => 'กรุณากรอกข้อมูล %s.','min_length' => 'กรุณากรอกข้อมูลขั้นต่ำ 5 ตัว')); $this->form_validation->set_rules('p_name', 'ชื่อผู้แจ้ง', 'trim|required|min_length[3]', array('required' => 'กรุณากรอกข้อมูล %s.', 'min_length' => 'กรุณากรอกข้อมูลขั้นต่ำ 3 ตัว')); $this->form_validation->set_rules('p_email', 'อีเมล', 'trim|required|valid_email', array('required' => 'กรุณากรอกข้อมูล %s.', 'valid_email' => 'รูปแบบอีเมลไม่ถูกต้อง')); if ($this->form_validation->run() == FALSE) { $this->load->view('home/header'); $this->load->view('home/form_view' , array('error' => ' ' )); $this->load->view('home/footer'); }else{ //img $config['upload_path']= 'asset/uploads/'; $config['allowed_types']= 'gif|jpg|png'; $config['encrypt_name']= TRUE; $this->load->library('upload', $config); if ( ! $this->upload->do_upload('p_img')) { $error = array('error' => $this->upload->display_errors()); $this->load->view('home/header'); $this->load->view('home/form_view' , $error); $this->load->view('home/footer'); }else{ $this->data_model->insert_case(); //last id by user case $data['qlastid']=$this->data_model->lastid($_POST['p_email']); //echo $_POST['p_email']; //print_r($data); //echo $data['qlastid']->id; $this->session->set_flashdata('save_success', TRUE); redirect('form/detail/'.$data['qlastid']->id,'refresh'); } } //}else{ } public function detail($id) { $data['rs_detail']=$this->data_model->get_detail($id); //print_r($data); $this->load->view('home/header'); $this->load->view('home/form_detail' ,$data); $this->load->view('home/footer'); } } |
models/Data_model.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 |
public function lastid($p_email) { $this->db->select_max('id'); $this->db->from('tbl_case c'); $this->db->where('c.p_email',$p_email); $query = $this->db->get(); if($query->num_rows() > 0){ $data = $query->row(); return $data; } return FALSE; } public function get_detail($id){ $this->db->select('c.*'); $this->db->from('tbl_case c'); $this->db->where('c.id',$id); $query = $this->db->get(); if($query->num_rows() > 0){ $data = $query->row(); return $data; } return FALSE; } |
views/home/form_view.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 |
<div class="container"> <div class="row"> <div class="col-12 col-sm-12 col-md-12"> <h3 class="jumbotron" style="margin-bottom: 0px;"> ::Form แจ้งซ่อมฯ V 0.3:: </h3> </div> </div> </div> <div class="container"> <div class="row"> <div class="col col-sm-12 col-md-12"> <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #d6d4d0;"> <a class="navbar-brand" href="<?= site_url('');?>">HelpDesk</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="<?= site_url('');?>">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="https://devbanban.com/?p=2867" target="_blank">คอร์สออนไลน์สอน CodeIgniter</a> </li> </ul> </div> </nav> </div> </div> </div> <div class="container" style="margin-top: 50px"> <div class="row"> <div class="col-sm-2 col-md-2"></div> <div class="col col-sm-10 col-md-10"> <form action="<?= site_url('form/adding');?>" method="post" class="form-horizontal" enctype="multipart/form-data"> <div class="form-group col col-md-7"> <label>ประเภทปัญหา</label> <select name="case_type" class="form-control" required> <?php if(set_value('case_type')!=''){?> <option value="<?= set_value('case_type'); ?>"><?= set_value('case_type'); ?></option> <?php } else{ echo '<option value="">Choose...</option>'; } ?> <option value="อุปกรณ์ไอที">-อุปกรณ์ไอที-</option> <option value="ประปา">-ประปา-</option> <option value="อาคาร">-อาคาร-</option> <option value="เครื่องใช้ไฟฟ้า">-เครื่องใช้ไฟฟ้า-</option> </select> </div> <div class="form-group col col-md-7"> <label>รายละเอียดปัญหา</label> <textarea name="case_detail" class="form-control" required minlength="5" placeholder="*ต้องการข้อมูล"><?= set_value('case_detail'); ?></textarea> <span class="fr"><?= form_error('case_detail'); ?></span> </div> <div class="form-group col col-md-7"> <label>สถานที่</label> <textarea name="case_loc" class="form-control" required minlength="5" placeholder="*ระบุตึก ชั้น ห้อง สถานที่ให้ครบถ้วน"><?= set_value('case_loc'); ?></textarea> <span class="fr"><?= form_error('case_loc'); ?></span> </div> <div class="form-group col col-md-5"> <label>ชื่อผู้แจ้ง</label> <input type="text" name="p_name" class="form-control" required minlength="3" placeholder="*ต้องการข้อมูล" value="<?= set_value('p_name'); ?>"> <span class="fr"><?= form_error('p_name'); ?></span> </div> <div class="form-group col col-md-5"> <label>อีเมลผู้แจ้ง</label> <input type="email" name="p_email" class="form-control" required placeholder="*ต้องการข้อมูล" value="<?= set_value('p_email'); ?>"> <span class="fr"><?= form_error('p_email'); ?></span> </div> <div class="form-group col col-md-5"> <label>ภาพประกอบ (บังคับ)</label> <input type="file" name="p_img" class="form-control" accept="image/*" required> <span class="fr"><?= $error;?></span> </div> <div class="form-group col col-md-5"> <button type="submit" class="btn btn-primary" style="width: 100%">แจ้งซ่อม</button> </div> </form> </div> </div> </div> |
views/home/form_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 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 |
<div class="container"> <div class="row"> <div class="col-12 col-sm-12 col-md-12"> <h3 class="jumbotron" style="margin-bottom: 0px;"> ::รายละเอียดการแจ้งซ่อม:: </h3> </div> </div> </div> <div class="container"> <div class="row"> <div class="col col-sm-12 col-md-12"> <nav class="navbar navbar-expand-lg navbar-light" style="background-color: #d6d4d0;"> <a class="navbar-brand" href="<?= site_url('');?>">HelpDesk</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="<?= site_url('');?>">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="https://devbanban.com/?p=2867" target="_blank">คอร์สออนไลน์สอน CodeIgniter</a> </li> </ul> </div> </nav> </div> </div> </div> <div class="container" style="margin-top: 50px"> <div class="row"> <div class="col-sm-2 col-md-2"></div> <div class="col col-sm-10 col-md-10"> <form class="form-horizontal" > <div class="form-group row"> <div class="col-12 col-sm-2"> <label>CaseID</label> <input type="number" name="id" class="form-control" value="<?= $rs_detail->id;?>" disabled> </div> <div class="col-12 col-sm-4"> <label>Status</label> <?php $st = $rs_detail->case_status; if($st==1){ $stMsg='รอดำเนินการ'; }elseif ($st==2) { $stMsg='อยู่ระหว่างดำเนินการ'; }elseif ($st==3) { $stMsg='ส่งซ่อมภายนอก'; }elseif ($st==4) { $stMsg='ดำเนินการเสร็จสิ้น'; }else{ $stMsg='ยกเลิก'; } ?> <input type="text" style="color:red;" class="form-control" value="<?= $stMsg;?>" disabled> </div> </div> <div class="form-group row col col-sm-7"> <label>ประเภทปัญหา</label> <select name="case_type" class="form-control" disabled> <option value="<?= $rs_detail->case_type;?>"><?= $rs_detail->case_type;?></option> </select> </div> <div class="form-group row col col-sm-7"> <label>รายละเอียดปัญหา</label> <textarea name="case_detail" class="form-control" disabled><?= $rs_detail->case_detail;?></textarea> </div> <div class="form-group row col col-sm-7"> <label>สถานที่</label> <textarea name="case_loc" class="form-control" disabled><?= $rs_detail->case_loc;?></textarea> </div> <div class="form-group row col col-sm-5"> <label>ชื่อผู้แจ้ง</label> <input type="text" name="p_name" class="form-control" disabled value="<?= $rs_detail->p_name;?>"> </div> <div class="form-group row col col-sm-5"> <label>อีเมลผู้แจ้ง</label> <input type="email" name="p_email" class="form-control" disabled value="<?= $rs_detail->p_email;?>"> </div> <div class="form-group row col col-sm-7"> <label>ภาพประกอบ</label> <img src="<?= base_url('./asset/uploads/'.$rs_detail->p_img); ?>" width="100%"> </div> <div class="form-group col col-sm-5"> <br><br> <a href="<?= site_url('');?>" class="btn btn-primary">กลับหน้าหลัก </a> </div> </form> </div> </div> </div> |
สนใจระบบนี้ inbox มาที่เพจครับ
สนับสนุน DEVBANBAN
ร่วมสนับสนุน ค่ากาแฟ ค่าโฮส devbanban.com ได้ที่
ธนาคารกรุงไทย สาขาเดอะมอลล์ท่าพระ
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 878-0-17747-6
————————————————————————————
ธนาคารไทยพาณิชย์ สาขามหาวิทยาลัยราชภัฏธนบุรี
ชื่อบัญชี นายพิศิษฐ์ บวรเลิศสุธี เลขที่ 406-359094-1
————————————————————————————
ธนาคารกสิกร สาขาเออร์เบิร์น สแควร์ ประชาชื่น
ชื่อบัญชี นายพิศิษฐ์บวรเลิศสุธี เลขที่ 048-1-17571-2
แฟนเพจ : https://www.facebook.com/sornwebsites/