Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > จะสั่งให้ dropdown list เลือกเทอมการศึกษาตามวันที่เริ่มต้น-สิ้นสุดตามที่เรากำหนดได้อย่างไรครับ


[PHP] จะสั่งให้ dropdown list เลือกเทอมการศึกษาตามวันที่เริ่มต้น-สิ้นสุดตามที่เรากำหนดได้อย่างไรครับ

 
Topic : 132912



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook


filter select dropdown list

ถ้าผมต้องการที่จะสั่งให้ dropdown list มีเทอมให้เลือกอยู่ เทอม1 เทอม2 เทอม3
เทอม 1 ตั้งแต่2018-06-15 ถึง 2018-10-31
เทอม 2 ตั้งแต่2018-11-15 ถึง 2019-03-20
เทอม 3 ตั้งแต่2019-04-15 ถึง 2019-06-31

และอีกปัญหาคือจะทำอย่างไรให้มันรองรับการเปลี่ยน พศ เพราะปีการศึกษามันเพิ่มขึ้นเรื่อยๆ

file index.php
dropdown list

แล้วทีนี้ผมจะแก้ไขคำสั้ง sql ให้สามารถ query ข้อมูลตามวันที่เริ่มต้นเเละสิ้นสุดตามที่เราเลือกได้อย่างไรครับ ช่วยชี้แนะผมทีครับ

column ที่ใช้เก็บวันที่ใน mysql app_date

index.php
Code (PHP)
001.<?php
002. 
003.include('database_connection.php');
004. 
005.$app_year = '';
006.$category_id = '';
007.$query = "SELECT DISTINCT app_year, category_id FROM appointment ORDER BY appstudent_id ASC";
008.$statement = $connect->prepare($query);
009.$statement->execute();
010.$result = $statement->fetchAll();
011.foreach($result as $row)
012.{
013. $app_year .= '<option value="'.$row['app_year'].'">'.$row['app_year'].'</option>';
014. $category_id .= '<option value="'.$row['category_id'].'">'.$row['category_id'].'</option>';
015.}
016. 
017.?>
018. 
019.<html>
020.   <head>
021.   <title>Custom Search</title>
028.    
029.   </head>
030.   <body>
031.         <div class="container box">
032.               <h1 align="center">รายงาน</h1>
033.                  <br />
034.                  <br />
035.                  <div class="row">
036.                     <div class="input-daterange">
037. 
038.                           <div class="col-md-3">
039.                              <select name="filter_year" id="filter_year" class="form-control" required>
040.                                 <option value="">เลือกปีการศึกษา</option>
041.                                 <?php echo $app_year; ?>
042.                              </select>     
043.                           </div>
044. 
045.                           <div class="col-md-3">
046.                              <select name="filter_semester" id="filter_semester" class="form-control" required>
047.                                 <option value="">เลือกเทอมการศึกษา</option>
048.                                 <option name="01" id="01" value="ทอม 1">เทอม 1 </option>
049.                                 <option name="02" id="02" value="ทอม 2">เทอม 2 </option>
050.                                 <option name="03" id="03" value="ทอม 3">เทอม 3 </option>
051.                              </select>
052.                           </div>
053. 
054.                           <div class="col-md-3">
055.                              <select name="filter_category" id="filter_category" class="form-control" required>
056.                                 <option value="">เลือกประเภท</option>
057.                                 <?php echo $category_id; ?>
058.                              </select>    
059.                           </div>     
060.                            
061.                           <div class="col-md-3">
062.                              <button type="button" name="filter" id="filter" class="btn btn-info">ค้นหา</button>    
063.                           </div>
064. 
065.                     </div>
066.                  </div>
067.                  <br/>
068. 
069.               <div class="table-responsive">
070.                  <table id="customer_data" class="table table-bordered table-striped">
071.                     <thead>
072.                        <tr>
073.                        <th width="13%">รหัสนักศึกษา</th>
074.                        <th width="15%">ชื่อ</th>
075.                        <th width="8%">วันที่</th>
076.                        <th width="5%">เวลา</th>
077.                        <th width="10%">ประเภท</th>
078.                        <th width="9%">ปีการศึกษา</th>
079.                        <th width="25%">เรื่อง</th>
080.                        </tr>
081.                     </thead>
082.                  </table>
083.                  <br />
084.                  <br />
085.                  <br />
086.               </div>
087.      </div>
088.   </body>
089.</html>
090. 
091.<script type="text/javascript" language="javascript" >
092. $(document).ready(function(){
093.   
094.  fill_datatable();
095.   
096.  function fill_datatable(filter_year = '', filter_semester = '', filter_category = '')
097.  {
098.   var dataTable = $('#customer_data').DataTable({
099.    "processing" : true,
100.    "serverSide" : true,
101.    "order" : [],
102.    "searching" : false,
103.    "ajax" : {
104.     url:"fetch.php",
105.     type:"POST",
106.     data:{
107.        filter_year:filter_year, filter_semester:filter_semester, filter_category:filter_category
108.     }
109.    }
110.   });
111.  }
112.   
113.  $('#filter').click(function(){
114.   var filter_year = $('#filter_year').val();
115.   var filter_semester = $('#filter_semester').val();
116.   var filter_category = $('#filter_category').val();
117.   if(filter_year != ''&& filter_semester !='' && filter_category != '')
118.   {
119.    $('#customer_data').DataTable().destroy();
120.    fill_datatable(filter_year, filter_semester, filter_category);
121.   }
122.   else
123.   {
124.    alert('กรุณาใส่ข้อมูลให้ครบ');
125.    $('#customer_data').DataTable().destroy();
126.    fill_datatable();
127.   }
128.  });
129.   
130.   
131. });
132.  
133.</script>


fetch.php
Code (PHP)
01.<?php
02. 
03.$dfrom = date('2018-06-10');
04.$dto = date('2018-10-31');
05.include('database_connection.php');
06. 
07.$column = array('student_number', 'student_name', 'app_date', 'time_id', 'category_id', 'app_year', 'app_message');
08. 
09.$query = " SELECT * FROM appointment ";
10. 
11.if(isset($_POST['filter_year'], $_POST['filter_semester'], $_POST['filter_category']) &&  $_POST['filter_year'] != '' &&  $_POST['filter_semester'] != '' && $_POST['filter_category'] != '')
12.{
13. $query .= 'WHERE app_year = "'.$_POST['filter_year'].'" AND category_id = "'.$_POST['filter_category'].'" ';
14.  /*AND filter_semester = "'.$_POST['filter_semester'].'" and app_date BETWEEN "2018-06-15" AND "2018-10-31" ';*/
15.}
16. 
17.if(isset($_POST['order']))
18.{
19. $query .= 'ORDER BY '.$column[$_POST['order']['0']['column']].' '.$_POST['order']['0']['dir'].' ';
20.}
21.else
22.{
23. $query .= 'ORDER BY appstudent_id DESC ';
24.}
25. 
26.$query1 = '';
27. 
28.if($_POST["length"] != -1)
29.{
30. $query1 = 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
31.}
32. 
33.$statement = $connect->prepare($query);
34. 
35.$statement->execute();
36. 
37.$number_filter_row = $statement->rowCount();
38. 
39.$statement = $connect->prepare($query . $query1);
40. 
41.$statement->execute();
42. 
43.$result = $statement->fetchAll();
44. 
45. 
46. 
47.$data = array();
48. 
49.foreach($result as $row)
50.{
51. $sub_array = array();
52. $sub_array[] = $row['student_number'];
53. $sub_array[] = $row['student_name'];
54. $sub_array[] = $row['app_date'];
55. $sub_array[] = $row['time_id'];
56. $sub_array[] = $row['category_id'];
57. $sub_array[] = $row['app_year'];
58. $sub_array[] = $row['app_message'];
59. $data[] = $sub_array;
60.}
61. 
62.function count_all_data($connect)
63.{
64. $query = "SELECT * FROM appointment";
65. $statement = $connect->prepare($query);
66. $statement->execute();
67. return $statement->rowCount();
68.}
69. 
70.$output = array(
71. "draw"             =>  intval($_POST["draw"]),
72. "recordsTotal"     =>  count_all_data($connect),
73. "recordsFiltered"  =>  $number_filter_row,
74. "data"             =>  $data
75.);
76. 
77.echo json_encode($output);
78. 
79.?>




Tag : PHP, MySQL, Ajax

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-01-14 11:46:18 By : sanchaimax View : 2150 Reply : 3
 

 

No. 1



โพสกระทู้ ( 1,096 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ออกแบบ database มันสัมพันธ์กันยังไงอ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-14 12:23:32 By : Pong Thep
 

 

No. 2



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : Pong Thep เมื่อวันที่ 2019-01-14 12:23:32
รายละเอียดของการตอบ ::
นี่ครับพี่ Code (SQL)
001.-- phpMyAdmin SQL Dump
002.-- version 4.8.3
004.--
005.-- Host: 127.0.0.1
006.-- Generation Time: Jan 14, 2019 at 10:29 AM
007.-- Server version: 10.1.37-MariaDB
008.-- PHP Version: 7.2.12
009. 
010.SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
011.SET AUTOCOMMIT = 0;
012.START TRANSACTION;
013.SET time_zone = "+00:00";
014. 
015. 
016./*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
017./*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
018./*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
019./*!40101 SET NAMES utf8mb4 */;
020. 
021.--
022.-- Database: `calendardb`
023.--
024. 
025.-- --------------------------------------------------------
026. 
027.--
028.-- Table structure for table `appointment`
029.--
030. 
031.CREATE TABLE `appointment` (
032.  `appstudent_id` int(11) NOT NULL,
033.  `student_number` char(20) NOT NULL,
034.  `student_name` varchar(50) NOT NULL,
035.  `email` varchar(50) NOT NULL,
036.  `app_date` date NOT NULL,
037.  `time_id` char(10) NOT NULL,
038.  `category_id` varchar(50) NOT NULL,
039.  `app_year` char(10) NOT NULL,
040.  `app_message` varchar(200) NOT NULL
041.) ENGINE=MyISAM DEFAULT CHARSET=utf8;
042. 
043.--
044.-- Dumping data for table `appointment`
045.--
046. 
047.INSERT INTO `appointment` (`appstudent_id`, `student_number`, `student_name`, `email`, `app_date`, `time_id`, `category_id`, `app_year`, `app_message`) VALUES
048.(12, '1111111111', 'กกกกกกกกกก', 'calendarpj2561@gmail.com', '2018-06-10', '15.00', 'การเรียน', '2018', 'กกกกกกกกกกกกก'),
049.(13, '22222222', 'ดดดดดดด', 'calendarpj2561@gmail.com', '2018-07-10', '12.00', 'การเรียน', '2018', 'ดดดดดดดดดดดดด'),
050.(14, '33333333333', 'อออออออออ', 'calendarpj2561@gmail.com', '2018-10-30', '14.30', 'การเรียน', '2018', 'ออออออออออออออ'),
051.(15, '33333333333', 'อออออออออ', 'calendarpj2561@gmail.com', '2018-10-30', '14.30', 'การเรียน', '2018', 'ออออออออออออออ');
052. 
053.-- --------------------------------------------------------
054. 
055.--
056.-- Table structure for table `category_recommend`
057.--
058. 
059.CREATE TABLE `category_recommend` (
060.  `category_id` int(11) NOT NULL,
061.  `category_name` varchar(50) NOT NULL
062.) ENGINE=MyISAM DEFAULT CHARSET=utf8;
063. 
064.--
065.-- Dumping data for table `category_recommend`
066.--
067. 
068.INSERT INTO `category_recommend` (`category_id`, `category_name`) VALUES
069.(2001, 'การเรียน'),
070.(2002, 'ทุนการศึกษา'),
071.(2003, 'ปัญหาชีวิต'),
072.(2004, 'ปัญหาสุขภาพ');
073. 
074.-- --------------------------------------------------------
075. 
076.--
077.-- Table structure for table `time_student`
078.--
079. 
080.CREATE TABLE `time_student` (
081.  `time_id` int(11) NOT NULL,
082.  `time_name` varchar(50) NOT NULL
083.) ENGINE=MyISAM DEFAULT CHARSET=utf8;
084. 
085.--
086.-- Dumping data for table `time_student`
087.--
088. 
089.INSERT INTO `time_student` (`time_id`, `time_name`) VALUES
090.(1018, '17.00'),
091.(1017, '16.30'),
092.(1016, '16.00'),
093.(1015, '15.30'),
094.(1014, '15.00'),
095.(1013, '14.30'),
096.(1012, '14.00'),
097.(1011, '13.30'),
098.(1010, '13.00'),
099.(1009, '12.30'),
100.(1008, '12.00'),
101.(1007, '11.30'),
102.(1006, '11.00'),
103.(1005, '10.30'),
104.(1004, '10.00'),
105.(1003, '09.30'),
106.(1002, '09.00'),
107.(1001, '08.30');
108. 
109.--
110.-- Indexes for dumped tables
111.--
112. 
113.--
114.-- Indexes for table `appointment`
115.--
116.ALTER TABLE `appointment`
117.  ADD PRIMARY KEY (`appstudent_id`);
118. 
119.--
120.-- Indexes for table `category_recommend`
121.--
122.ALTER TABLE `category_recommend`
123.  ADD PRIMARY KEY (`category_id`);
124. 
125.--
126.-- Indexes for table `time_student`
127.--
128.ALTER TABLE `time_student`
129.  ADD PRIMARY KEY (`time_id`);
130. 
131.--
132.-- AUTO_INCREMENT for dumped tables
133.--
134. 
135.--
136.-- AUTO_INCREMENT for table `appointment`
137.--
138.ALTER TABLE `appointment`
139.  MODIFY `appstudent_id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=16;
140.COMMIT;
141. 
142./*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
143./*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
144./*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-14 16:29:38 By : max
 

 

No. 3



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ผมยังไม่ได้ทำให้มันเก็บเป็นภาษาไทยได้ตอนนี้เเค่เทสใส่ข้อมูลดูก่อนว่าบันทึกได้รึเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-14 16:33:02 By : max
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : จะสั่งให้ dropdown list เลือกเทอมการศึกษาตามวันที่เริ่มต้น-สิ้นสุดตามที่เรากำหนดได้อย่างไรครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่