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,027

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



 

เรื่อง 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)
	$id=$_POST['txtm_id'];
	$sdate=$_POST['date1'].'T'.$_POST['hour1'].':'.$_POST["min1"].':00';
	$edate=$_POST['date2'].'T'.$_POST['hour2'].':'.$_POST["min2"].':00';
	$room=$_POST['txtroom'];
	$detail=$_POST['txtdetail'];
	$strSQL = "SELECT
  * FROM `booking`
  WHERE ((sdate between '".$sdate."' and '".$edate."') or ";
	$strSQL .= " (edate between '".$sdate."' and '".$edate."')) and ";
	$strSQL .= "room = '".$room."'";
	$objQuery = mysql_query($strSQL) or die(mysql_error());
	$objResult = mysql_fetch_array($objQuery);
	if($objResult)
	{
			echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
	}




Tag : PHP







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

 

No. 1



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

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

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

ลอง

Code (PHP)
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)
$m_id=$_POST['txtm_id'];
	$sdate=$_POST['date1'];
	$edate=$_POST['date2'];
	$stime = $_POST['hour1'].':'.$_POST["min1"].':00';
	$etime = $_POST['hour2'].':'.$_POST["min2"].':00';
	$room=$_POST['txtroom'];
	$detail=$_POST['txtdetail'];
	$strSQL = "SELECT
  sdate,edate FROM `booking` WHERE ((sdate between '".$sdate."' and '".$edate."') or ";
	$strSQL .= " (edate between '".$sdate."' and '".$edate."')) and ";
	$strSQL .= " ((stime between '".$stime."' and '".$etime."') or ";
	$strSQL .= " (etime between '".$stime."' and '".$etime."')) and room = '".$room."'";
	$objQuery = mysql_query($strSQL) or die(mysql_error());
	$objResult = mysql_fetch_array($objQuery);
	
	if($objResult)
	{
			echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
	}
	elseif($stime > $etime){
					 echo "<script>alert('เวลาเริ่มต้นน้อยกว่าเวลาสิ้นสุด!');history.back();</script>";
				 }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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)
SELECT * FROM booking WHERE r_id = '".$room."' and ((sdate between '".$sdate."' and '".$edate."') or (edate between '".$sdate."' and '".$edate."') )


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

Code (PHP)
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)
$id=$_POST['txtm_id'];
$sdate=$_POST['date1'].' '.$_POST['hour1'].':'.$_POST["min1"].':00';
$edate=$_POST['date2'].' '.$_POST['hour2'].':'.$_POST["min2"].':59';
$room=$_POST['txtroom'];
$detail=$_POST['txtdetail'];
$strSQL = "SELECT
 * FROM `booking`
 WHERE ((sdate between '".$sdate."' and '".$edate."') or ";
$strSQL .= " (edate between '".$sdate."' and '".$edate."')) and ";
$strSQL .= "room = '".$room."'";
$objQuery = mysql_query($strSQL) or die(mysql_error());
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
		echo "<script>alert('ห้องนี้มีผู้ใช้งานแล้วกรุณาตรวจสอบอีกครั้ง!');history.back();</script>";
}


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


 

No. 9



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



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

Code (PHP)
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 )
)




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

จากเดิม 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,095 )
บทความ ( 0 )

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

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


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


 

No. 11



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



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

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

Code (PHP)
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 )
   OR (stime between '".$stime."' and '".$etime."') OR (etime between '".$stime."' and '".$etime."')
)



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
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)
$strSQL = "SELECT * FROM booking WHERE r_id = '".$room."' 
AND
(
    (sdate between '".$sdate."' AND '".$edate."') OR (edate between '".$sdate."' AND '".$edate."') or
	('".$sdate."' between sdate AND edate) OR ('".$edate."' between sdate AND edate)
)
AND 
(
   ('".$stime."' BETWEEN stime  AND etime) OR ('".$etime."' BETWEEN  stime  AND etime )
   OR (stime between '".$stime."' and '".$etime."') OR (etime between '".$stime."' and '".$etime."')
)


";


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

ขอบคุณ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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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