คืออยากรู้ว่ามีวิธีเช็คค่าที่ส่งมาแบบอื่นไหมน่ะครับ เช่น มีตัวเลือกอยู่ 3 ตัวเลือก แล้วมันก็ต้อง join กัน 3 ตารางด้วย
a = 1
b = 2
c = 3 หรือ 4
คือตอนนี้ใช้ if เช็คอยู่พอทำเสร็จแล้วรู้สึกคำสั่งที่เขียนมันเยอะมาก เพราะมันต้องเช็คว่าค่าที่ส่งมามีอันไหนบ้าง เช่น a กับ b หรือ a กับ c ถ้า a กับ b ก็ให้ทำการเรียกข้อมูลโดยใช้ค่าที่ส่งมากับ a และ b ในการเรียก
ก็คือค่าที่ส่งมามันต้องจับคุ่กันได้และเรียกข้อมูลได้ด้วยน่ะ
เลยอยากรู้ว่านอกจากใช้ if แล้วยังมีวิธีอื่นที่ใช้เช็คอีกหรือป่าว แบบว่าอยากให้โค้ดมันสั้นลงน่ะครับ
if($level!="" and $num!="" and $status==""){
$sql1="select room_rent.*, room_detail.* from room_rent, room_detail where room_rent.Room_Detail_ID = room_detail.Room_Detail_ID and room_rent.De_Re_Level ='$level' and room_rent.De_Re_Num ='$num' ";
$query=mysql_query($sql1);
$result=mysql_fetch_array($query);
if($result['De_Re_Level']=="" and $result['De_Re_Num']==""){
echo "<script language='javascript'>alert('ไม่พบรายการที่ท่าเลือก กรุณาเลือกใหม่ด้วยครับ');</script>";
exit;
}
} else if($level!="" and $num=="" and $status!=""){
$sql2="select room_rent.*, room_detail.* from room_rent, room_detail
where room_rent.Room_Detail_ID = room_detail.Room_Detail_ID and room_rent.De_Re_Level ='$level' and room_rent.De_Re_Status ='$status' ";
$query=mysql_query($sql2);
$result=mysql_fetch_array($query);
if($result['De_Re_Level']=="" and $result['De_Re_Status']==""){
echo "<script language='javascript'>alert('ไม่พบรายการที่ท่าเลือก กรุณาเลือกใหม่ด้วยครับ');</script>";
exit;
}
} else if($level=="" and $num!="" and $status!=""){
$sql3="select room_rent.*, room_detail.* from room_rent, room_detail
where room_rent.Room_Detail_ID = room_detail.Room_Detail_ID and room_rent.De_Re_Num ='$num' and room_rent.De_Re_Status ='$status' ";
$query=mysql_query($sql3);
$result=mysql_fetch_array($query);
$result=mysql_fetch_array($query);
if($result['De_Re_Num']=="" and $result['De_Re_Status']==""){
echo "<script language='javascript'>alert('ไม่พบรายการที่ท่าเลือก กรุณาเลือกใหม่ด้วยครับ');</script>";
exit;
}
} else if($level=="" and $num=="" and $status!=""){
$sql4="select room_rent.*, room_detail.* from room_rent, room_detail
where room_rent.Room_Detail_ID = room_detail.Room_Detail_ID and room_rent.De_Re_Status ='$status' ";
$query=mysql_query($sql4);
}
พอเช็คค่าที่ส่งมาว่ามีตรงกับในฐานข้อมูลหรือป่าวเสร็จ ก็เอามาทำการเรียกข้อมูลต่อน่ะ
if($level!="" and $num!="" and $status==""){
$query=mysql_query($sql1);
} else if($level!="" and $num=="" and $status!=""){
$query=mysql_query($sql2);
} else if($level=="" and $num!="" and $status!=""){
$query=mysql_query($sql3);
} else if($level=="" and $num=="" and $status!=""){
$query=mysql_query($sql4);
} else if($level=="" and $num=="" and $status==""){
$query=mysql_query("select room_rent.*, room_detail.* from room_rent, room_detail where room_rent.Room_Detail_ID = room_detail.Room_Detail_ID ");
}
while($delux=mysql_fetch_array($query)){
มันก็ทำงานตามที่ต้องการแหละ แต่ผมอยากรู้ว่า มีเทคนิค หรือวิธีที่ทำให้เขึยนโค้ดสั้นกว่านี้ไหมน่ะ
เพราะส่วนใหญ่ก็จะใช้ if แหละก็ไม่รู้ว่า นอกจาก if แล้วจะมีวิธีอื่นที่ใช้ในการเช็คน่ะ