Initial commit - TPU Survey System with Google Forms & Certificate Generator
This commit is contained in:
@@ -0,0 +1,575 @@
|
||||
-- phpMyAdmin SQL Dump
|
||||
-- version 5.2.1
|
||||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: May 30, 2026 at 08:21 AM
|
||||
-- Server version: 10.4.28-MariaDB
|
||||
-- PHP Version: 8.2.4
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
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: `tpu_survey_v2`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `projects`
|
||||
--
|
||||
|
||||
CREATE TABLE `projects` (
|
||||
`id` int(11) NOT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`title` varchar(500) NOT NULL,
|
||||
`code` varchar(100) DEFAULT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `response_answers`
|
||||
--
|
||||
|
||||
CREATE TABLE `response_answers` (
|
||||
`id` int(11) NOT NULL,
|
||||
`response_id` int(11) NOT NULL,
|
||||
`question_id` int(11) NOT NULL,
|
||||
`answer_value` text DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `response_answers`
|
||||
--
|
||||
|
||||
INSERT INTO `response_answers` (`id`, `response_id`, `question_id`, `answer_value`) VALUES
|
||||
(197, 17, 319, 'หญิง'),
|
||||
(198, 17, 320, '18-25 ปี'),
|
||||
(199, 17, 321, 'ผู้เข้าร่วมอบรม'),
|
||||
(200, 17, 322, '5'),
|
||||
(201, 17, 323, '5'),
|
||||
(202, 17, 324, '5'),
|
||||
(203, 17, 325, '5'),
|
||||
(204, 17, 326, '5'),
|
||||
(205, 17, 327, '5'),
|
||||
(206, 17, 328, '5'),
|
||||
(207, 17, 329, '5'),
|
||||
(208, 17, 330, '5'),
|
||||
(209, 17, 331, '5'),
|
||||
(210, 17, 332, 'ดีมาก'),
|
||||
(211, 18, 319, 'หญิง'),
|
||||
(212, 18, 320, '18-25 ปี'),
|
||||
(213, 18, 321, 'ผู้เข้าร่วมอบรม'),
|
||||
(214, 18, 322, '5'),
|
||||
(215, 18, 323, '5'),
|
||||
(216, 18, 324, '5'),
|
||||
(217, 18, 325, '5'),
|
||||
(218, 18, 326, '5'),
|
||||
(219, 18, 327, '5'),
|
||||
(220, 18, 328, '5'),
|
||||
(221, 18, 329, '5'),
|
||||
(222, 18, 330, '5'),
|
||||
(223, 18, 331, '5'),
|
||||
(224, 18, 332, 'ดีมาก'),
|
||||
(225, 19, 319, 'หญิง'),
|
||||
(226, 19, 320, '18-25 ปี'),
|
||||
(227, 19, 321, 'นักศึกษา'),
|
||||
(228, 19, 322, '5'),
|
||||
(229, 19, 323, '5'),
|
||||
(230, 19, 324, '5'),
|
||||
(231, 19, 325, '5'),
|
||||
(232, 19, 326, '5'),
|
||||
(233, 19, 327, '5'),
|
||||
(234, 19, 328, '5'),
|
||||
(235, 19, 329, '5'),
|
||||
(236, 19, 330, '5'),
|
||||
(237, 19, 331, '5'),
|
||||
(238, 19, 332, 'ดี'),
|
||||
(239, 20, 319, 'หญิง'),
|
||||
(240, 20, 320, '18-25 ปี'),
|
||||
(241, 20, 321, 'ผู้เข้าร่วมอบรม'),
|
||||
(242, 20, 322, '5'),
|
||||
(243, 20, 323, '5'),
|
||||
(244, 20, 324, '5'),
|
||||
(245, 20, 325, '5'),
|
||||
(246, 20, 326, '5'),
|
||||
(247, 20, 327, '5'),
|
||||
(248, 20, 328, '5'),
|
||||
(249, 20, 329, '5'),
|
||||
(250, 20, 330, '5'),
|
||||
(251, 20, 331, '5'),
|
||||
(252, 20, 332, 'ดีมาก'),
|
||||
(253, 22, 319, 'หญิง'),
|
||||
(254, 22, 320, '18-25 ปี'),
|
||||
(255, 22, 321, 'ผู้เข้าร่วมอบรม'),
|
||||
(256, 22, 322, '5'),
|
||||
(257, 22, 323, '5'),
|
||||
(258, 22, 324, '5'),
|
||||
(259, 22, 325, '5'),
|
||||
(260, 22, 326, '5'),
|
||||
(261, 22, 327, '5'),
|
||||
(262, 22, 328, '5'),
|
||||
(263, 22, 329, '5'),
|
||||
(264, 22, 330, '5'),
|
||||
(265, 22, 331, '5'),
|
||||
(266, 22, 332, 'f'),
|
||||
(303, 25, 415, 'หญิง'),
|
||||
(304, 25, 416, 'ผู้บริหาร'),
|
||||
(305, 25, 417, 'ตาปี'),
|
||||
(306, 25, 418, 'สูงกว่าปริญญาตรี'),
|
||||
(307, 25, 419, '5'),
|
||||
(308, 25, 420, '5'),
|
||||
(309, 25, 421, '5'),
|
||||
(310, 25, 422, '5'),
|
||||
(311, 25, 423, '5'),
|
||||
(312, 25, 424, '5'),
|
||||
(313, 25, 425, '5'),
|
||||
(314, 25, 426, '5'),
|
||||
(315, 25, 427, '5'),
|
||||
(316, 25, 428, '5'),
|
||||
(317, 25, 429, '5'),
|
||||
(318, 25, 430, '5'),
|
||||
(319, 25, 431, 'ดี'),
|
||||
(320, 25, 432, 'เยี่ยม'),
|
||||
(321, 26, 433, 'ชาย'),
|
||||
(322, 26, 434, '46ขึ้นไป'),
|
||||
(323, 26, 435, 'บุคลากรมหาวิทยาลัย'),
|
||||
(324, 26, 436, '5'),
|
||||
(325, 26, 437, '5'),
|
||||
(326, 26, 438, '5'),
|
||||
(327, 26, 439, '5'),
|
||||
(328, 26, 440, '5'),
|
||||
(329, 26, 441, '5'),
|
||||
(330, 26, 442, '5'),
|
||||
(331, 26, 443, '5'),
|
||||
(332, 26, 444, '5'),
|
||||
(333, 26, 445, '5'),
|
||||
(334, 26, 446, 'ดีเยี่ยม');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `surveys`
|
||||
--
|
||||
|
||||
CREATE TABLE `surveys` (
|
||||
`id` int(11) NOT NULL,
|
||||
`project_id` int(11) DEFAULT NULL,
|
||||
`user_id` int(11) NOT NULL,
|
||||
`title` varchar(500) NOT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`status` enum('draft','active','closed') NOT NULL DEFAULT 'draft',
|
||||
`has_certificate` tinyint(1) DEFAULT 0,
|
||||
`certificate_template` varchar(255) DEFAULT NULL,
|
||||
`cert_name_y` double DEFAULT 82.5,
|
||||
`cert_code_y` double DEFAULT 190.5,
|
||||
`unique_link` varchar(64) NOT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `surveys`
|
||||
--
|
||||
|
||||
INSERT INTO `surveys` (`id`, `project_id`, `user_id`, `title`, `description`, `status`, `has_certificate`, `certificate_template`, `cert_name_y`, `cert_code_y`, `unique_link`, `created_at`, `updated_at`) VALUES
|
||||
(12, NULL, 2, 'โครงการ “เศรษฐกิจพอเพียงเพื่อการพึ่งพาตัวเองอย่างยั่งยืน” ', 'โครงการ “เศรษฐกิจพอเพียงเพื่อการพึ่งพาตัวเองอย่างยั่งยืน” ', 'active', 1, 'uploads/templates/tpl_1780067435_6b669cd56355cbc7.png', 82.5, 190.5, 'ce03949e365a217c1d6e3ab1d8ee2aa7', '2026-03-28 11:40:21', '2026-05-29 15:35:19'),
|
||||
(14, NULL, 2, 'โครงการพัฒนาศักยภาพนักศึกษาและศิษย์เก่าด้านวิชาการ', 'หัวข้อ : ยกระดับการพัฒนาโปรแกรมด้วย AI Antigravity', 'active', 1, 'uploads/templates/tpl_1780067777_2e2054e439be3ca8.png', 82.5, 190.5, '1699c7b716cd683a1ad4049c50cf5913', '2026-05-05 17:16:01', '2026-05-29 15:42:41'),
|
||||
(15, NULL, 2, 'โครงการพัฒนาศักยภาพนักศึกษาและศิษย์เก่า คณะนวัตกรรมดิจิทัลเทคโนโลยี', 'หัวข้อ : ยกระดับการพัฒนาโปรแกรมด้วย AI Antigravity', 'active', 1, NULL, 82.5, 190.5, '2a41dc0294e278b1f77de609e978af58', '2026-05-29 02:38:06', '2026-05-29 09:44:21'),
|
||||
(16, NULL, 2, 'โครงการพัฒนาศักยภาพนักศึกษาและศิษย์เก่า คณะนวัตกรรมดิจิทัลเทคโนโลยี', 'หัวข้อ : ยกระดับการพัฒนาโปรแกรมด้วย AI Antigravity\nวันที่ดำเนินการวันอาทิตย์ที่31พฤษภาคม 2569\nห้องปฎิบัติการคอมพิวเตอร์ อาคารศรีไพโรจน์ (09.00-15.00 น.) มหาวิทยาลัยตาปี\n', 'active', 1, 'uploads/templates/tpl_1780067923_0e07b986969b4651.png', 82.5, 190.5, '7b69ee5682db694387269e628171a577', '2026-05-29 09:47:04', '2026-05-30 06:13:35');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `survey_headings`
|
||||
--
|
||||
|
||||
CREATE TABLE `survey_headings` (
|
||||
`id` int(11) NOT NULL,
|
||||
`section_id` int(11) NOT NULL,
|
||||
`title` varchar(255) NOT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`order_num` int(11) NOT NULL DEFAULT 0
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `survey_headings`
|
||||
--
|
||||
|
||||
INSERT INTO `survey_headings` (`id`, `section_id`, `title`, `description`, `order_num`) VALUES
|
||||
(27, 106, 'ข้อมุลผู้ตอบแบบสอบถาม', NULL, 0),
|
||||
(28, 107, '1. กระบวนการ ขั้นตอนการให้บริการ', NULL, 0),
|
||||
(29, 107, '2. การอำนวยความสะดวก', NULL, 1),
|
||||
(30, 107, '3. คุณภาพการให้บริการ', NULL, 2);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `survey_questions`
|
||||
--
|
||||
|
||||
CREATE TABLE `survey_questions` (
|
||||
`id` int(11) NOT NULL,
|
||||
`section_id` int(11) NOT NULL,
|
||||
`heading_id` int(11) DEFAULT NULL,
|
||||
`question_text` text NOT NULL,
|
||||
`question_type` enum('radio','text','dropdown','checkbox') NOT NULL DEFAULT 'radio',
|
||||
`is_required` tinyint(1) DEFAULT 1,
|
||||
`order_num` int(11) NOT NULL DEFAULT 0,
|
||||
`options` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`options`)),
|
||||
`scale_min` int(11) DEFAULT 1,
|
||||
`scale_max` int(11) DEFAULT 5,
|
||||
`description` text DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `survey_questions`
|
||||
--
|
||||
|
||||
INSERT INTO `survey_questions` (`id`, `section_id`, `heading_id`, `question_text`, `question_type`, `is_required`, `order_num`, `options`, `scale_min`, `scale_max`, `description`) VALUES
|
||||
(319, 88, NULL, 'เพศ', 'checkbox', 1, 0, '[\"ชาย\",\"หญิง\"]', 1, 5, NULL),
|
||||
(320, 88, NULL, 'ช่วงอายุ', 'checkbox', 1, 1, '[\"18-25 ปี\",\"26-35 ปี\",\"36-45 ปี\",\"46ขึ้นไป\"]', 1, 5, NULL),
|
||||
(321, 88, NULL, 'สถานะ', 'checkbox', 1, 2, '[\"นักศึกษา\",\"ศิษย์เก่า\",\"ผู้เข้าร่วมอบรม\",\"บุคลากรมหาวิทยาลัย\"]', 1, 5, NULL),
|
||||
(322, 89, NULL, 'การดำเนินการอบรมและทดสอบในภาพรวม', 'radio', 1, 0, NULL, 1, 5, NULL),
|
||||
(323, 89, NULL, 'ความสามารถในการถ่ายทอดความรู้ของวิทยากร', 'radio', 1, 1, NULL, 1, 5, NULL),
|
||||
(324, 89, NULL, 'บุคลิกภาพ/การแสดงออกที่เหมาะสมของวิทยากร', 'radio', 1, 2, NULL, 1, 5, NULL),
|
||||
(325, 89, NULL, 'ความเหมาะสมของหลักสูตรการอบรมและทดสอบ', 'radio', 1, 3, NULL, 1, 5, NULL),
|
||||
(326, 89, NULL, 'ความเหมาะสมของแบบทดสอบกับเนื้อหาที่อบรม', 'radio', 1, 4, NULL, 1, 5, NULL),
|
||||
(327, 89, NULL, 'เอกสารและสื่อประกอบการอบรมและทดสอบ', 'radio', 1, 5, NULL, 1, 5, NULL),
|
||||
(328, 89, NULL, 'ความเหมาะสมของอุปกรณ์ในการอบรมและทดสอบ', 'radio', 1, 6, NULL, 1, 5, NULL),
|
||||
(329, 89, NULL, 'ระยะเวลาในการอบรมและทดสอบ', 'radio', 1, 7, NULL, 1, 5, NULL),
|
||||
(330, 89, NULL, 'สถานที่จัดอบรมและทดสอบ', 'radio', 1, 8, NULL, 1, 5, NULL),
|
||||
(331, 89, NULL, 'ประโยชน์ที่ได้รับจากการอบรมและทดสอบฯ', 'radio', 1, 9, NULL, 1, 5, NULL),
|
||||
(332, 90, NULL, 'ข้อคิดเห็นและข้อเสนอแนะเพิ่มเติม', 'text', 1, 0, NULL, 1, 5, NULL),
|
||||
(415, 106, NULL, 'เพศ', 'dropdown', 1, 0, '[\"ชาย\",\"หญิง\"]', 1, 5, NULL),
|
||||
(416, 106, NULL, 'สถานะ', 'dropdown', 1, 1, '[\"ผู้บริหาร\",\"ครู\",\"พนักงาน\",\"ลูกจ้าง\",\"ประชาชนทั่วไป\"]', 1, 5, NULL),
|
||||
(417, 106, NULL, 'สังกัดคณะ/สำนัก /สถาบัน /หน่วยงาน', 'text', 1, 2, NULL, 1, 5, NULL),
|
||||
(418, 106, NULL, 'วุฒิการศึกษา', 'dropdown', 1, 3, '[\"ต่ำกว่าปริญญาตรี\",\"ปริญญาตรี\",\"สูงกว่าปริญญาตรี\"]', 1, 5, NULL),
|
||||
(419, 107, 28, 'การประชาสัมพันธ์โครงการ ฯ', 'radio', 1, 0, NULL, 1, 5, NULL),
|
||||
(420, 107, 28, 'ความเหมาะสมของสถานที่', 'radio', 1, 1, NULL, 1, 5, NULL),
|
||||
(421, 107, 28, 'ความเหมาะสมของระยะเวลา', 'radio', 1, 2, NULL, 1, 5, NULL),
|
||||
(422, 107, 29, 'เอกสาร', 'radio', 1, 0, NULL, 1, 5, NULL),
|
||||
(423, 107, 29, 'โสตทัศนูปกรณ์', 'radio', 1, 1, NULL, 1, 5, NULL),
|
||||
(424, 107, 29, 'เจ้าหน้าที่สนับสนุน', 'radio', 1, 2, NULL, 1, 5, NULL),
|
||||
(425, 107, 29, 'อาหาร,เครื่องดื่มและสถานที่', 'radio', 1, 3, NULL, 1, 5, NULL),
|
||||
(426, 107, 30, 'ท่านได้รับความรู้ แนวคิด ทักษะและประสบการณ์ใหม่ ๆ จากโครงการ', 'radio', 1, 0, NULL, 1, 5, NULL),
|
||||
(427, 107, 30, 'ท่านสามารถนำสิ่งที่ได้รับจากโครงการ/กิจกรรมนี้ไปใช้ในการปฏิบัติงาน', 'radio', 1, 1, NULL, 1, 5, NULL),
|
||||
(428, 107, 30, 'สิ่งที่ท่านได้รับจากโครงการ/กิจกรรมครั้งนี้ตรงตามความคาดหวังของท่าน', 'radio', 1, 2, NULL, 1, 5, NULL),
|
||||
(429, 107, 30, 'โครงการ/กิจกรรมนี้เอื้ออำนวยต่อการเรียนรู้และพัฒนาความสามารถของท่าน', 'radio', 1, 3, NULL, 1, 5, NULL),
|
||||
(430, 107, 30, 'ประโยชน์ที่ท่านได้รับจากโครงการ/กิจกรรม', 'radio', 1, 4, NULL, 1, 5, NULL),
|
||||
(431, 108, NULL, 'สิ่งที่ท่านพึงพอใจในการร่วมโครงการในครั้งนี้', 'text', 1, 0, NULL, 1, 5, NULL),
|
||||
(432, 108, NULL, 'สิ่งที่ควรเสนอแนะนำไปพัฒนาการจัดโครงการในโอกาสต่อไป (ในส่วนของคณะ)', 'text', 1, 1, NULL, 1, 5, NULL),
|
||||
(433, 109, NULL, 'เพศ', 'checkbox', 1, 0, '[\"ชาย\",\"หญิง\"]', 1, 5, NULL),
|
||||
(434, 109, NULL, 'ช่วงอายุ', 'dropdown', 1, 1, '[\"18-25 ปี\",\"26-35 ปี\",\"36-45 ปี\",\"46ขึ้นไป\"]', 1, 5, NULL),
|
||||
(435, 109, NULL, 'สถานะ', 'checkbox', 1, 2, '[\"นักศึกษา\",\"ศิษย์เก่า\",\"ผู้เข้าร่วมอบรม\",\"บุคลากรมหาวิทยาลัย\"]', 1, 5, NULL),
|
||||
(436, 110, NULL, 'การดำเนินการอบรมและทดสอบในภาพรวม', 'radio', 1, 0, NULL, 1, 5, NULL),
|
||||
(437, 110, NULL, 'ความสามารถในการถ่ายทอดความรู้ของวิทยากร', 'radio', 1, 1, NULL, 1, 5, NULL),
|
||||
(438, 110, NULL, 'บุคลิกภาพ/การแสดงออกที่เหมาะสมของวิทยากร', 'radio', 1, 2, NULL, 1, 5, NULL),
|
||||
(439, 110, NULL, 'ความเหมาะสมของหลักสูตรการอบรมและทดสอบ', 'radio', 1, 3, NULL, 1, 5, NULL),
|
||||
(440, 110, NULL, 'ความเหมาะสมของแบบทดสอบกับเนื้อหาที่อบรม', 'radio', 1, 4, NULL, 1, 5, NULL),
|
||||
(441, 110, NULL, 'เอกสารและสื่อประกอบการอบรมและทดสอบ', 'radio', 1, 5, NULL, 1, 5, NULL),
|
||||
(442, 110, NULL, 'ความเหมาะสมของอุปกรณ์ในการอบรมและทดสอบ', 'radio', 1, 6, NULL, 1, 5, NULL),
|
||||
(443, 110, NULL, 'ระยะเวลาในการอบรมและทดสอบ', 'radio', 1, 7, NULL, 1, 5, NULL),
|
||||
(444, 110, NULL, 'สถานที่จัดอบรมและทดสอบ', 'radio', 1, 8, NULL, 1, 5, NULL),
|
||||
(445, 110, NULL, 'ประโยชน์ที่ได้รับจากการอบรมและทดสอบฯ', 'radio', 1, 9, NULL, 1, 5, NULL),
|
||||
(446, 111, NULL, 'ข้อคิดเห็นและข้อเสนอแนะเพิ่มเติม', 'text', 1, 0, NULL, 1, 5, NULL),
|
||||
(461, 115, NULL, 'เพศ', 'checkbox', 1, 0, '[\"ชาย\",\"หญิง\"]', 1, 5, NULL),
|
||||
(462, 115, NULL, 'ช่วงอายุ', 'checkbox', 1, 1, '[\"18-25 ปี\",\"26-35 ปี\",\"36-45 ปี\",\"46ขึ้นไป\"]', 1, 5, NULL),
|
||||
(463, 115, NULL, 'สถานะ', 'checkbox', 1, 2, '[\"นักศึกษา\",\"ศิษย์เก่า\",\"ผู้เข้าร่วมอบรม\",\"บุคลากรมหาวิทยาลัย\"]', 1, 5, NULL),
|
||||
(464, 116, NULL, 'การดำเนินการอบรมและทดสอบในภาพรวม', 'radio', 1, 0, NULL, 1, 5, NULL),
|
||||
(465, 116, NULL, 'ความสามารถในการถ่ายทอดความรู้ของวิทยากร', 'radio', 1, 1, NULL, 1, 5, NULL),
|
||||
(466, 116, NULL, 'บุคลิกภาพ/การแสดงออกที่เหมาะสมของวิทยากร', 'radio', 1, 2, NULL, 1, 5, NULL),
|
||||
(467, 116, NULL, 'ความเหมาะสมของเนื้อหาการอบรม', 'radio', 1, 3, NULL, 1, 5, NULL),
|
||||
(468, 116, NULL, 'ความเหมาะสมของการฝึกปฎิบัติกับเนื้อหาที่อบรม', 'radio', 1, 4, NULL, 1, 5, NULL),
|
||||
(469, 116, NULL, 'เนื้อหาและสื่อประกอบการอบรม', 'radio', 1, 5, NULL, 1, 5, NULL),
|
||||
(470, 116, NULL, 'ความเหมาะสมของอุปกรณ์ในการอบรม', 'radio', 1, 6, NULL, 1, 5, NULL),
|
||||
(471, 116, NULL, 'ระยะเวลาในการอบรม', 'radio', 1, 7, NULL, 1, 5, NULL),
|
||||
(472, 116, NULL, 'สถานที่จัดอบรม', 'radio', 1, 8, NULL, 1, 5, NULL),
|
||||
(473, 116, NULL, 'ประโยชน์ที่ได้รับจากการอบรม', 'radio', 1, 9, NULL, 1, 5, NULL),
|
||||
(474, 117, NULL, 'ข้อคิดเห็นและข้อเสนอแนะเพิ่มเติม', 'text', 1, 0, NULL, 1, 5, NULL);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `survey_responses`
|
||||
--
|
||||
|
||||
CREATE TABLE `survey_responses` (
|
||||
`id` int(11) NOT NULL,
|
||||
`survey_id` int(11) NOT NULL,
|
||||
`respondent_info` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL CHECK (json_valid(`respondent_info`)),
|
||||
`cert_code` varchar(32) DEFAULT NULL,
|
||||
`ip_address` varchar(45) DEFAULT NULL,
|
||||
`submitted_at` timestamp NOT NULL DEFAULT current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `survey_responses`
|
||||
--
|
||||
|
||||
INSERT INTO `survey_responses` (`id`, `survey_id`, `respondent_info`, `cert_code`, `ip_address`, `submitted_at`) VALUES
|
||||
(6, 12, '[]', NULL, '192.168.1.5', '2026-03-29 07:24:19'),
|
||||
(7, 12, '[]', NULL, '192.168.1.5', '2026-03-29 07:26:18'),
|
||||
(8, 12, '[]', NULL, '192.168.1.4', '2026-03-29 07:26:53'),
|
||||
(9, 14, '[]', NULL, '::1', '2026-05-05 17:45:06'),
|
||||
(10, 14, '[]', NULL, '::1', '2026-05-05 17:46:00'),
|
||||
(11, 14, '[]', NULL, '::1', '2026-05-05 17:47:11'),
|
||||
(12, 14, '[]', NULL, '::1', '2026-05-08 16:59:01'),
|
||||
(13, 15, '[]', NULL, '::1', '2026-05-29 04:35:09'),
|
||||
(14, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', NULL, '10.0.20.129', '2026-05-29 04:53:21'),
|
||||
(15, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', NULL, '10.0.20.129', '2026-05-29 04:53:35'),
|
||||
(16, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0016', '::1', '2026-05-29 04:54:57'),
|
||||
(17, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0017', '10.0.20.129', '2026-05-29 08:51:27'),
|
||||
(18, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0018', '10.0.20.129', '2026-05-29 08:55:35'),
|
||||
(19, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0019', '10.0.20.129', '2026-05-29 09:20:12'),
|
||||
(20, 15, '{\"name\":\"นางสาวพิมพิศา ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0020', '::1', '2026-05-29 09:37:21'),
|
||||
(22, 15, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@student.tapee.ac.th\"}', 'TPU-2569-0022', '::1', '2026-05-29 09:46:11'),
|
||||
(23, 12, '{\"name\":\"นางอรนุช ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0023', '::1', '2026-05-29 14:25:01'),
|
||||
(24, 12, '{\"name\":\"นางสาวพิมพิศา ปิติสุข\",\"email\":\"463525141@student.tapee.ac.th\"}', 'TPU-2569-0024', '::1', '2026-05-29 14:53:28'),
|
||||
(25, 12, '{\"name\":\"นางสาวพิมพิศา ปิติสุข\",\"email\":\"pongpon@tapee.ac.th\"}', 'TPU-2569-0025', '::1', '2026-05-29 15:12:38'),
|
||||
(26, 14, '{\"name\":\"นางสาวปานไพลิน ปิติสุข\",\"email\":\"463525141@tapee.ac.th\"}', 'TPU-2569-0026', '::1', '2026-05-29 15:17:18');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `survey_sections`
|
||||
--
|
||||
|
||||
CREATE TABLE `survey_sections` (
|
||||
`id` int(11) NOT NULL,
|
||||
`survey_id` int(11) NOT NULL,
|
||||
`section_number` int(11) NOT NULL,
|
||||
`title` varchar(255) NOT NULL,
|
||||
`description` text DEFAULT NULL,
|
||||
`category` varchar(50) DEFAULT 'rating'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `survey_sections`
|
||||
--
|
||||
|
||||
INSERT INTO `survey_sections` (`id`, `survey_id`, `section_number`, `title`, `description`, `category`) VALUES
|
||||
(88, 15, 1, 'ส่วนที่ 1 ข้อมูลทั่วไป', '', 'general'),
|
||||
(89, 15, 2, 'ส่วนที่ 2 การประเมินความพึงพอใจ', '', 'rating'),
|
||||
(90, 15, 3, 'ส่วนที่ 3 ข้อเสนอแนะอื่นๆ', '', 'suggestions'),
|
||||
(106, 12, 1, 'ส่วนที่ 1 ข้อมูลทั่วไป', '', 'general'),
|
||||
(107, 12, 2, 'ส่วนที่ 2 การประเมินความพึงพอใจ', '', 'rating'),
|
||||
(108, 12, 3, 'ส่วนที่ 3 ข้อเสนอแนะอื่นๆ', '', 'suggestions'),
|
||||
(109, 14, 1, 'ส่วนที่ 1 ข้อมูลทั่วไป', '', 'general'),
|
||||
(110, 14, 2, 'ส่วนที่ 2 การประเมินความพึงพอใจ', '', 'rating'),
|
||||
(111, 14, 3, 'ส่วนที่ 3 ข้อเสนอแนะอื่นๆ', '', 'suggestions'),
|
||||
(115, 16, 1, 'ส่วนที่ 1 ข้อมูลทั่วไป', '', 'general'),
|
||||
(116, 16, 2, 'ส่วนที่ 2 การประเมินความพึงพอใจ', '', 'rating'),
|
||||
(117, 16, 3, 'ส่วนที่ 3 ข้อเสนอแนะอื่นๆ', '', 'suggestions');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `users`
|
||||
--
|
||||
|
||||
CREATE TABLE `users` (
|
||||
`id` int(11) NOT NULL,
|
||||
`username` varchar(100) NOT NULL,
|
||||
`password_hash` varchar(255) NOT NULL,
|
||||
`role` enum('admin','teacher') NOT NULL DEFAULT 'teacher',
|
||||
`full_name` varchar(255) NOT NULL,
|
||||
`personnel_code` varchar(50) DEFAULT NULL,
|
||||
`subject_area` varchar(255) DEFAULT NULL,
|
||||
`branch_code` varchar(50) DEFAULT NULL,
|
||||
`email` varchar(255) DEFAULT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
--
|
||||
-- Dumping data for table `users`
|
||||
--
|
||||
|
||||
INSERT INTO `users` (`id`, `username`, `password_hash`, `role`, `full_name`, `personnel_code`, `subject_area`, `branch_code`, `email`, `created_at`, `updated_at`) VALUES
|
||||
(1, 'admin', '$2y$10$ccniLtM2Y/Bx.xW/Q/msMuBYvtScKJcGdUder0nqSKT1WYx2iJHQ6', 'admin', 'ผู้ดูแลระบบ', NULL, NULL, NULL, NULL, '2026-03-23 07:27:51', '2026-03-23 07:27:51'),
|
||||
(2, '463525141', '$2y$10$qq26bFa2SyzZe/zckdjyde9inQ2RIsj5lfANAz0l1m8dvVAgA5b8u', 'teacher', 'พงศ์ภน ปิติสุข', '463525141', 'นวัตกรรมฯ', 'คอมฯ', 'pongpon@tapee.ac.th', '2026-03-23 08:00:28', '2026-05-08 17:00:50');
|
||||
|
||||
--
|
||||
-- Indexes for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Indexes for table `projects`
|
||||
--
|
||||
ALTER TABLE `projects`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `user_id` (`user_id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `response_answers`
|
||||
--
|
||||
ALTER TABLE `response_answers`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_answers_response` (`response_id`),
|
||||
ADD KEY `idx_answers_question` (`question_id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `surveys`
|
||||
--
|
||||
ALTER TABLE `surveys`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `unique_link` (`unique_link`),
|
||||
ADD KEY `project_id` (`project_id`),
|
||||
ADD KEY `user_id` (`user_id`),
|
||||
ADD KEY `idx_surveys_link` (`unique_link`);
|
||||
|
||||
--
|
||||
-- Indexes for table `survey_headings`
|
||||
--
|
||||
ALTER TABLE `survey_headings`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `idx_headings_section` (`section_id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `survey_questions`
|
||||
--
|
||||
ALTER TABLE `survey_questions`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `section_id` (`section_id`),
|
||||
ADD KEY `idx_questions_heading` (`heading_id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `survey_responses`
|
||||
--
|
||||
ALTER TABLE `survey_responses`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `cert_code` (`cert_code`),
|
||||
ADD KEY `idx_responses_survey` (`survey_id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `survey_sections`
|
||||
--
|
||||
ALTER TABLE `survey_sections`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD KEY `survey_id` (`survey_id`);
|
||||
|
||||
--
|
||||
-- Indexes for table `users`
|
||||
--
|
||||
ALTER TABLE `users`
|
||||
ADD PRIMARY KEY (`id`),
|
||||
ADD UNIQUE KEY `username` (`username`);
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `projects`
|
||||
--
|
||||
ALTER TABLE `projects`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `response_answers`
|
||||
--
|
||||
ALTER TABLE `response_answers`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=335;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `surveys`
|
||||
--
|
||||
ALTER TABLE `surveys`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `survey_headings`
|
||||
--
|
||||
ALTER TABLE `survey_headings`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=31;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `survey_questions`
|
||||
--
|
||||
ALTER TABLE `survey_questions`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=475;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `survey_responses`
|
||||
--
|
||||
ALTER TABLE `survey_responses`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `survey_sections`
|
||||
--
|
||||
ALTER TABLE `survey_sections`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=118;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT for table `users`
|
||||
--
|
||||
ALTER TABLE `users`
|
||||
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
|
||||
|
||||
--
|
||||
-- Constraints for dumped tables
|
||||
--
|
||||
|
||||
--
|
||||
-- Constraints for table `projects`
|
||||
--
|
||||
ALTER TABLE `projects`
|
||||
ADD CONSTRAINT `projects_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
|
||||
|
||||
--
|
||||
-- Constraints for table `response_answers`
|
||||
--
|
||||
ALTER TABLE `response_answers`
|
||||
ADD CONSTRAINT `response_answers_ibfk_1` FOREIGN KEY (`response_id`) REFERENCES `survey_responses` (`id`) ON DELETE CASCADE,
|
||||
ADD CONSTRAINT `response_answers_ibfk_2` FOREIGN KEY (`question_id`) REFERENCES `survey_questions` (`id`) ON DELETE CASCADE;
|
||||
|
||||
--
|
||||
-- Constraints for table `surveys`
|
||||
--
|
||||
ALTER TABLE `surveys`
|
||||
ADD CONSTRAINT `surveys_ibfk_1` FOREIGN KEY (`project_id`) REFERENCES `projects` (`id`) ON DELETE SET NULL,
|
||||
ADD CONSTRAINT `surveys_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE;
|
||||
|
||||
--
|
||||
-- Constraints for table `survey_headings`
|
||||
--
|
||||
ALTER TABLE `survey_headings`
|
||||
ADD CONSTRAINT `survey_headings_ibfk_1` FOREIGN KEY (`section_id`) REFERENCES `survey_sections` (`id`) ON DELETE CASCADE;
|
||||
|
||||
--
|
||||
-- Constraints for table `survey_questions`
|
||||
--
|
||||
ALTER TABLE `survey_questions`
|
||||
ADD CONSTRAINT `survey_questions_ibfk_1` FOREIGN KEY (`section_id`) REFERENCES `survey_sections` (`id`) ON DELETE CASCADE,
|
||||
ADD CONSTRAINT `survey_questions_ibfk_2` FOREIGN KEY (`heading_id`) REFERENCES `survey_headings` (`id`) ON DELETE SET NULL;
|
||||
|
||||
--
|
||||
-- Constraints for table `survey_responses`
|
||||
--
|
||||
ALTER TABLE `survey_responses`
|
||||
ADD CONSTRAINT `survey_responses_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `surveys` (`id`) ON DELETE CASCADE;
|
||||
|
||||
--
|
||||
-- Constraints for table `survey_sections`
|
||||
--
|
||||
ALTER TABLE `survey_sections`
|
||||
ADD CONSTRAINT `survey_sections_ibfk_1` FOREIGN KEY (`survey_id`) REFERENCES `surveys` (`id`) ON DELETE CASCADE;
|
||||
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 */;
|
||||
Reference in New Issue
Block a user