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 > เรื่อง between เช็ควันที่กับเวลา ครับ มันผิดๆช่วยดูให้ทีครับ


[PHP] เรื่อง between เช็ควันที่กับเวลา ครับ มันผิดๆช่วยดูให้ทีครับ

 
Topic : 094947



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



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



ในฐานข้อมูลมี วันที่ 2013-05-20 08:15:00 ถึง 2013-05-30 16:30:00 อยู่แล้ว
พอจองวันที่ 2013-05-21 08:15:00 ถึง 2013-05-24 16:30:00 ก็จองได้ครับ งงเลย

โค้ดครับ

Code (PHP)
01.  $id=$_POST['txtm_id'];
02.  $sdate=$_POST['date1'].'T'.$_POST['hour1'].':'.$_POST["min1"].':00';
03.  $edate=$_POST['date2'].'T'.$_POST['hour2'].':'.$_POST["min2"].':00';
04.  $room=$_POST['txtroom'];
05.  $detail=$_POST['txtdetail'];
06.  $strSQL = "SELECT
07.* FROM `booking`
08.WHERE ((sdate between '".$sdate."' and '".$edate."') or ";
09.  $strSQL .= " (edate between '".$sdate."' and '".$edate."')) and ";
10.  $strSQL .= "room = '".$room."'";
11.  $objQuery = mysql_query($strSQL) or die(mysql_error());
12.  $objResult = mysql_fetch_array($objQuery);
13.  if($objResult)
14.  {
15.          echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
16.  }




Tag : PHP

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-09 12:12:12 By : white31969 View : 1625 Reply : 14
 

 

No. 1



โพสกระทู้ ( 74,059 )
บทความ ( 838 )

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

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

ลอง

Code (PHP)
1.echo $strSQL;


แล้วเอาไปรันบน phpMyAdmin ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-09 12:14:58 By : mr.win
 

 

No. 2



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



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


มาเป็นแบบนี้อะครับ

SELECT * FROM `booking` WHERE ((sdate between '2013-05-28T07:00:00' and '2013-05-28T16:00:00') or (edate between '2013-05-28T07:00:00' and '2013-05-28T16:00:00')) and room = 'ศูนย์ฝึกอบรมคอมพิวเตอร์สำนักการศึกษา'


ประวัติการแก้ไข
2013-05-09 12:20:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-09 12:18:23 By : white31969
 

 

No. 3



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



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


ไปรันแล้วทำยังไงต่ออ่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-09 12:21:01 By : white31969
 

 

No. 4



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



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

2013-05-28T07:00:00


ตัว T มาจากไหน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-09 13:41:39 By : teez1232002
 

 

No. 5



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



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


ลองเปลี่ยนใหม่แล้วครับ เป็นเก็บวันคนละช่องกันกับเวลา



ในฐานข้อมูลมี วันที่ 2013-05-20(sdate) ถึง 2013-05-24(edate) เวลา 12:00:00(stime) ถึง 16:00:00(etime) อยู่แล้ว


พอจองวันที่ 2013-05-22(sdate) ถึง 2013-05-23(edate) เวลา 12:00:00(stime) ถึง 16:00:00(etime) ก็จองได้อีกครับ


อันนี้โค้ดครับ

Code (PHP)
01.$m_id=$_POST['txtm_id'];
02.    $sdate=$_POST['date1'];
03.    $edate=$_POST['date2'];
04.    $stime = $_POST['hour1'].':'.$_POST["min1"].':00';
05.    $etime = $_POST['hour2'].':'.$_POST["min2"].':00';
06.    $room=$_POST['txtroom'];
07.    $detail=$_POST['txtdetail'];
08.    $strSQL = "SELECT
09.  sdate,edate FROM `booking` WHERE ((sdate between '".$sdate."' and '".$edate."') or ";
10.    $strSQL .= " (edate between '".$sdate."' and '".$edate."')) and ";
11.    $strSQL .= " ((stime between '".$stime."' and '".$etime."') or ";
12.    $strSQL .= " (etime between '".$stime."' and '".$etime."')) and room = '".$room."'";
13.    $objQuery = mysql_query($strSQL) or die(mysql_error());
14.    $objResult = mysql_fetch_array($objQuery);
15.     
16.    if($objResult)
17.    {
18.            echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
19.    }
20.    elseif($stime > $etime){
21.                     echo "<script>alert('เวลาเริ่มต้นน้อยกว่าเวลาสิ้นสุด!');history.back();</script>";
22.                 }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-09 13:56:05 By : white31969
 

 

No. 6



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



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


มันไม่ได้จิงๆช่วยดูให้หน่อยนะครับ ติดหลายวันแล้วY_Y
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-09 14:53:44 By : white31969
 

 

No. 7



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



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


ถ้าเอาแค่วันที่ มันใช้ได้เลยแต่พอเพิ่มเวลาเข้าไปมันเลือกวันซ้อนได้อะครับ

วันที่อย่างเดียว
Code (PHP)
1.SELECT * FROM booking WHERE r_id = '".$room."' and ((sdate between '".$sdate."' and '".$edate."') or (edate between '".$sdate."' and '".$edate."') )


วันที่กับเวลา

Code (PHP)
1.SELECT * FROM booking WHERE r_id = '".$room."' and ((sdate between '".$sdate."' and '".$edate."') or (edate between '".$sdate."' and '".$edate."') )and ((stime between '".$stime."' and '".$etime."') or (etime between '".$stime."' and '".$etime."'))

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 10:17:35 By : white31969
 

 

No. 8

Guest


Code (PHP)
01.$id=$_POST['txtm_id'];
02.$sdate=$_POST['date1'].' '.$_POST['hour1'].':'.$_POST["min1"].':00';
03.$edate=$_POST['date2'].' '.$_POST['hour2'].':'.$_POST["min2"].':59';
04.$room=$_POST['txtroom'];
05.$detail=$_POST['txtdetail'];
06.$strSQL = "SELECT
07. * FROM `booking`
08. WHERE ((sdate between '".$sdate."' and '".$edate."') or ";
09.$strSQL .= " (edate between '".$sdate."' and '".$edate."')) and ";
10.$strSQL .= "room = '".$room."'";
11.$objQuery = mysql_query($strSQL) or die(mysql_error());
12.$objResult = mysql_fetch_array($objQuery);
13.if($objResult)
14.{
15.        echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
16.}


แล้วถ้าตัด ตัว T ออก จะเป็นไงครับ ในฐานข้อมูลคุณเก็บ ฟิว วันที่กับเวลา แยกกัน หรือว่า เก็บในฟิวเดียวกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 10:47:55 By : WiTT
 

 

No. 9



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



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

Code (PHP)
01.SELECT * FROM booking WHERE r_id = '".$room."'
02.AND
03.(
04.    (sdate between '".$sdate."' AND '".$edate."') OR (edate between '".$sdate."' AND '".$edate."')
05.)
06.AND
07.(
08.   ('".$stime."' BETWEEN stime  AND etime) OR ('".$etime."' BETWEEN  stime  AND etime )
09.)



ย้ายตำแหน่งการเช็กเวลาครับ

จากเดิม stime between '".$stime."' and '".$etime."' เปลี่ยนเป็น '".$stime."' BETWEEN stime AND etime

และ etime between '".$stime."' and '".$etime." เปลี่ยนเป็น '".$etime."' BETWEEN stime AND etim


ประวัติการแก้ไข
2013-05-10 10:54:06
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 10:52:41 By : Naizan
 

 

No. 10



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

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

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


น่าจะต้องใช่้ฟังก์ชั่น strtotime แยก วันเดือนปี เวลา ก่อน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 10:53:41 By : compiak
 

 

No. 11



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



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

เพิ่มเติมครับ โค๊ดเดิมถ้าเลือก ทับช่วงเวลา จะเช็กได้
แต่ถ้าเลือกคร่อมเวลา จะพลาดได้ ต้องเช็กเพิ่มจากเดิมครับ ^^"

Code (PHP)
01.SELECT * FROM booking WHERE r_id = '".$room."'
02.AND
03.(
04.    (sdate between '".$sdate."' AND '".$edate."') OR (edate between '".$sdate."' AND '".$edate."')
05.)
06.AND
07.(
08.   ('".$stime."' BETWEEN stime  AND etime) OR ('".$etime."' BETWEEN  stime  AND etime )
09.   OR (stime between '".$stime."' and '".$etime."') OR (etime between '".$stime."' and '".$etime."')
10.)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 10:58:38 By : Naizan
 

 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : Naizan เมื่อวันที่ 2013-05-10 10:58:38
รายละเอียดของการตอบ ::
ลองเลือกภายในช่วงเวลามันก็ยังจองได้อะครับ เช่นเลือกวันที่ 20-24 พอไปเลือก 22-23มันก็จองได้อะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 11:05:45 By : white31969
 

 

No. 13



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



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


ได้แล้วครับ


เพิ่มไปอีกครับเป็น
Code (PHP)
01.$strSQL = "SELECT * FROM booking WHERE r_id = '".$room."'
02.AND
03.(
04.    (sdate between '".$sdate."' AND '".$edate."') OR (edate between '".$sdate."' AND '".$edate."') or
05.    ('".$sdate."' between sdate AND edate) OR ('".$edate."' between sdate AND edate)
06.)
07.AND
08.(
09.   ('".$stime."' BETWEEN stime  AND etime) OR ('".$etime."' BETWEEN  stime  AND etime )
10.   OR (stime between '".$stime."' and '".$etime."') OR (etime between '".$stime."' and '".$etime."')
11.)
12. 
13. 
14.";


ขอบคุณทุกคนเลยครับที่แนะนำ

ขอบคุณCybermanที่ให้แนวทางจนแก้ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-10 11:14:42 By : white31969
 

 

No. 14

Guest


ตอบความคิดเห็นที่ : 13 เขียนโดย : white31969 เมื่อวันที่ 2013-05-10 11:14:42
รายละเอียดของการตอบ ::
พี่คะรบกวน ขอดูฐานข้อมูลหน่อยได้ไหมคะมีฟิวอะไรบ้าง พอดีหนูกำลังศึกษาอยู่ค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-09-04 10:58:40 By : ก-ฮ
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เรื่อง between เช็ควันที่กับเวลา ครับ มันผิดๆช่วยดูให้ทีครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





Load balance : Server 02
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 อัตราราคา คลิกที่นี่