ช่วยด้วยครับ เช็คดักค่า ซ้ำ จากฐานข้อมูล ใครบางมีแนวทาง ช่วยหน่อยครับ
จะเขียน ดักของซ้ำ เวลาเก็บลงฐานข้อมูลอ่ะครับ
Code (PHP)
<?
include ("connect.php");
$strSQL = "SELECT * FROM booking WHERE id = '".$_SESSION['id']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo "กรุณาอย่าจองซ้ำ";
}
else
{
$strSQL = "INSERT INTO booking (head,id_room,id,day_booking,time_begin,time_finish,attendees) VALUES ('".$_POST["head"]."',
'".$_POST["id_room"]."','".$_SESSION['id']."','".$_POST["day_booking"]."','".$_POST["time_begin"]."','".$_POST["time_finish"]."',
'".$_POST["attendees"]."')"or die (mysql_error());
$objQuery = mysql_query($strSQL);
//echo "Register Completed!<br>";
//echo "<br> Go to <a href='index.php'>Login page</a>";
echo "<script> alert('บันทึกการจองเรียบร้อยแล้ว !! ')</script>";
print "<meta http-equiv=refresh content=0;URL=user_page.php>";
//}
mysql_close();
?>
ถ้าเขียน กรณีแบบถ้าบนพอทำได้อ่ะครับ แต่พอเป็น จะเอาค่า 2 ค่า มาเทียบกันถ้ามีในฐานข้อมูล ถือว่าซ้ำกัน
ยกตัวอย่างนะ
$strSQL = "SELECT * FROM booking WHERE id =ค่าที่ส่ง & day_booking = ค่าที่ส่ง "; // ถ้าค่า 2 ฟิล นี้มีอยู่ใน ฐานข้อมูล แล้ว ถือว่าจองซ้ำ ถ้าไม่ใช่ก็เก็บลงฐานข้อมูล
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if($objResult)
{
echo "กรุณาอย่าจองซ้ำ";
}
else
{
พอเข้าใจไหมครับ ช่วยหน่อยนะครับTag : PHP
Date :
2012-08-24 13:02:22
By :
B[O]YA
View :
1502
Reply :
8
ใช้ AND ก็ถูกแล้วครับ ค้นหา 2 เงื่อนไข
$strSQL = "SELECT * FROM booking WHERE id =ค่าที่ส่ง AND day_booking = ค่าที่ส่ง ";
ถ้าค้นหาพบค่าใดค่าหนึ่งมันก็ไม่แสดง แต่ถ้าใน record นั้นมีทั้ง 2 ค่าตามเงื่อนไข AND ก็จะแสดงปกติ
Date :
2012-08-24 13:47:40
By :
apisitp
ครับ แล้วถ้าจะให้ ค่า id = ค่าที่ส่ง and day_booking =ค่าที่ส่ง ตรงกันอะครับ
คือ ต้อง พบค่าที่ส่งเท่ากัน ตัวอย่างเช่น
ถ้าในฐานข้อมูล มี ค่า id =6 มีค่า day_booking =24-8-2555
แล้วเช็คเงื่อนไข
///// ถ้า id ค่าที่ส่งไป =6 day_booking =25-8-2555 แบบนี้ถือว่าไม่ ซ้ำ
///// ถ้า id ค่าที่ส่งไป =5 day_booking =25-8-2555 แบบนี้ถือว่าไม่ ซ้ำ
//// ถ้า id ค่าที่ส่งไป = 6 day_booking =24-8-2555 แบบนี้ถือว่า ซ้ำ
ประมาณว่า เช็ค 2 ค่า พร้อมๆกัน ถ้าเจอค่าใดค่าหนึ่ง ถือว่าไม่ซ้ำ แต่ถ้าเจอ 2 ค่า พร้อมๆกัน ถือว่าซ้ำ
ผมอธิบายซ้ำซ้อน ไปไหมครับ
ช่วยหน่อยนะครับ
Date :
2012-08-24 14:47:25
By :
B[O]YA
ใช้ AND ก็ถูกแล้วนะครับ ตาม Logic
T and T = T
T and F = F
F and T = F
F and F = F
ถ้าตรงกัน ทั้ง 2 เงื่อนไข ก็จะแสดงข้อความว่า echo "กรุณาอย่าจองซ้ำ";
มือใหม่หัดตอบคำถามในกระทู้ครับ ผิดพลาดประการใดข้ออภัยด้วยครับ
Date :
2012-08-24 15:18:19
By :
sompon01
Date :
2012-08-24 16:16:25
By :
apisitp
มีต่อครับ
..............................................
ถ้าในฐานข้อมูล มีค่า day_booking =24-8-2555 มี ค่า time1 =09.00 มีค่า time2 =13.00
สรุปคือ วันที่ 24-08-2555 ช่วงเวลาตั้งแต่ 9.00 ถึง 13.00 ต้องไม่สามารถใช้งานได้
แล้วเช็คเงื่อนไขที่จะดัก
///// ถ้า day_booking =24-8-2555 time 1=13.00 time2= 15.00 แบบนี้ถือว่า ผ่าน
///// ถ้า day_booking =24-8-2555 time 1=10.00 time2= 11.00 แบบนี้ถือว่า ไม่ผ่าน
จะเขียนดักประมาณไหนดีครับ เพื่อกัน วันและเวลา ทับ กัน
Date :
2012-08-24 16:28:35
By :
B[O]YA
up up up
Date :
2012-08-24 19:49:20
By :
Boya
ช่วยหน่อยครับบบ
Date :
2012-08-24 22:16:47
By :
B[O]YA
Load balance : Server 05