 |
สอบถาม การใช้คำสั่ง select ในการตรวจหาข้อมูลซํ้า ครับ |
|
 |
|
|
 |
 |
|
คือผมใช้คำสั่ง select ในการหาข้อมูลที่ซํ้าที่อยู่ใน table อยู่ง่ะครับ
ผมเขียนประมาณนี้ง่ะครับ
$sql="select*from schedule where SUBJECTS_ID='$SUBJECTS_ID' AND PROGRAM='$PROGRAM_NAME' AND LEV='$LEV_NAME' AND YEAR='$YEAR' AND CLASS='$CLASS' AND DAY='$DAY' AND TIME_1='$TIME_1' AND TIME_2='$TIME_2' AND TIME_3='$TIME_3' AND TIME_4='$TIME_4' AND TIME_5='$TIME_5' AND TIME_6='$TIME_6' AND TIME_7='$TIME_7' AND TIME_8='$TIME_8' AND TIME_9='$TIME_9' AND TIME_10='$TIME_10' ";
$query=mysql_query($sql);
$obj=mysql_fetch_array($query);
if($obj!=0)
{
echo"เวลาเรียนมีการทับกันอยู่ กรุณาลงเวลาใหม่";
exit();
}
else
{
........... ลงเวลาได้.........
}
เป็นการเช็ค ข้อมูลใน table ว่าลงเวลาซํ้ารึปล่าว
แต่โค้ดที่ผมเขียน มันเช็คได้เฉพาะการ insert ข้อมูลที่เหมือนกันทุกฟิวเท่านั้นครับ
แต่ในกรณีอื่นไม่สามารถเช็คได้ครับ
ผมอยากใ้ห้มันเช็ค ในกรณีที่ สมมุติว่ามีข้อมูลมูลอยู่ใน table เป็น
SUBJECTS_ID = 1001
PROGRAM = 01
LEV=01
YEAR=1
CLASS=1
DAY=1
TIME_1=1 , TIME_2=1 , TIME_3=1 , TIME_4=null , TIME_5=null , TIME_6=null
TIME_7=null , TIME_8=null , TIME_9=null , TIME_10=null
แล้วผมทำการ insert ข้อมูลชุดใหม่เข้าไปเป็น
SUBJECTS_ID = 1001
PROGRAM = 01
LEV=01
YEAR=1
CLASS=1
DAY=1
TIME_1=null , TIME_2=null , TIME_3=1 , TIME_4=null , TIME_5=null , TIME_6=null
TIME_7=null , TIME_8=null , TIME_9=null , TIME_10=null
จะเห็นได้ว่าในฟิว TIME_3 มีการทับกันเกิดขึ้น จึงไม่สามารถ insert ได้
ผมจึงขอรบกวนท่านพี่ทั้งหลาย ช่วยชี้ทางสว่างให้ผู้น้อยอย่างผมด้วยครับ
Tag : PHP, MySQL, HTML/CSS
|
|
 |
 |
 |
 |
Date :
2011-03-06 13:09:26 |
By :
champweza |
View :
1205 |
Reply :
5 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าใช้ OR ล่ะ
$sql="select*from schedule where SUBJECTS_ID='$SUBJECTS_ID' OR PROGRAM='$PROGRAM_NAME' OR LEV='$LEV_NAME' OR YEAR='$YEAR' OR CLASS='$CLASS' OR DAY='$DAY' OR TIME_1='$TIME_1' AND TIME_2='$TIME_2' OR TIME_3='$TIME_3' OR TIME_4='$TIME_4' OR TIME_5='$TIME_5' OR TIME_6='$TIME_6' OR TIME_7='$TIME_7' OR TIME_8='$TIME_8' OR TIME_9='$TIME_9' OR TIME_10='$TIME_10' ";
$query=mysql_query($sql);
$obj=mysql_fetch_array($query);
if($obj!=0)
{
echo"เวลาเรียนมีการทับกันอยู่ กรุณาลงเวลาใหม่";
exit();
}
else
{
........... ลงเวลาได้.........
}
ถ้าและคือต้องเหมือนกันทุกฟิวส์ถึงชนกันได้
แต่ถ้า หรือ คือ ถ้ามีฟิวส์ใดฟิวส์หนึ่งเหมือนกันก็จะชนกัน
แบบนี้ได้เปล่า
|
 |
 |
 |
 |
Date :
2011-03-06 13:21:41 |
By :
LuckyStar |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ผมก็ว่ามันน่าจะใช้ OR ได้นะครับ
แต่ถ้าในกรณีที่ผมอยากให้ฟิว
SUBJECTS_ID = 1001
PROGRAM = 01
LEV=01
YEAR=1
CLASS=1
DAY=1
สามารถซํ้ากันได้
แต่ ฟิว TIME_1 ถึง TIME_10 ไม่สามารถซํ้ากันได้ "แม้จะแค่ฟิวใดฟิวหนึ่งก็ตาม" ง่ะครับ (ตามตัวอย่างข้างต้นเลยครับ)
อาจจะต้องใช้ AND และ OR ปนกันในคำสั่ง select ง่ะครับ แต่ผมไม่เคยทำเลยครับ
เลยต้องมารบกวนพี่ๆ ทั้งหลายง่ะครับ
ขอคุณครับ
|
 |
 |
 |
 |
Date :
2011-03-06 13:28:12 |
By :
champweza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้า SUBJECTS_ID = 1001
PROGRAM = 01
LEV=01
YEAR=1
CLASS=1
DAY=1
สามารถซํ้ากันได้ ก็ไม่ต้องwhere ซิ
$sql="select*from schedule where TIME_1='$TIME_1' OR TIME_2='$TIME_2' OR TIME_3='$TIME_3' OR TIME_4='$TIME_4' OR TIME_5='$TIME_5' OR TIME_6='$TIME_6' OR TIME_7='$TIME_7' OR TIME_8='$TIME_8' OR TIME_9='$TIME_9' OR TIME_10='$TIME_10' ";
$query=mysql_query($sql);
$obj=mysql_fetch_array($query);
if($obj!=0)
{
echo"เวลาเรียนมีการทับกันอยู่ กรุณาลงเวลาใหม่";
exit();
}
else
{
........... ลงเวลาได้.........
}
แบบนี้ได้ป่าว
|
 |
 |
 |
 |
Date :
2011-03-06 14:24:34 |
By :
LuckyStar |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือฟิว
SUBJECTS_ID = 1001
PROGRAM = 01
LEV=01
YEAR=1
CLASS=1
DAY=1
ต้องใช้เช็คด้วยครับ ในกรณีที่ข้อมูลชุดใหม่เป็น
SUBJECTS_ID = 1001
PROGRAM = 01
LEV=01
YEAR=1
CLASS=2
DAY=1
TIME_1=null , TIME_2=null , TIME_3=1 , TIME_4=null , TIME_5=null , TIME_6=null
TIME_7=null , TIME_8=null , TIME_9=null , TIME_10=null
สังเกตได้ว่า ฟิว CLASS=2 จะไม่ซํ้านะครับ แม้ในฟิว TIME_3 จะซํ้าก็ตาม แต่ถ้า select ออกมาก็ถือว่ายังไม่ซํ้าครับ
จึงสามารถ insert ได้ครับ
รบกวนหน่อยนะครับ ไม่เคยทำจิงๆครับผม
|
 |
 |
 |
 |
Date :
2011-03-06 22:34:40 |
By :
champweza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใครตอบได้เทพ จิงๆแหละครับ
|
 |
 |
 |
 |
Date :
2011-03-08 00:10:33 |
By :
champweza |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|