ขอสอบถามการตรวจสอบห้องว่างหน่อยค่ะ

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ขอสอบถามการตรวจสอบห้องว่างหน่อยค่ะ

ขอสอบถามการตรวจสอบห้องว่างหน่อยค่ะ
ขอสอบถามหน่อยนะคะ พอดีโค้ดด้านล่างนี้ เป็นการแสดงเฉพาะห้องว่างอย่างเดียวในวัน เวลาที่เลือก แต่ถ้าอยากให้โชว์ห้องที่ไม่ว่างด้วย โดยแสดงชื่อห้อง วันที่ และเวลาของรายการนั้น ในวันเวลาที่เลือกด้วยอ่าค่ะ ต้องแก้ไขอย่างไรคะ 

<?PHP
@session_start();
include ('Connection.php'); // เรียกใช้ฐานข้อมูล
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.:Reservations Meeting</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/style.css">

<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script language="javascript" src="jquery-1.2.6.min.js"></script>
<script>
function chk_form(){ // เช็คค่าว่าง
	$(":input + span.require").remove();
	$(":input").each(function(){
		$(this).each(function(){	
			if($(this).val()==""){
				$(this).after("<span class=require>*</span>");
			}
		});
	});
	if($(":input").next().is(".require")==false){
		return true;
	}else {
		return false;
	}	
}
</script>

<style type="text/css">
.require{
	height:20px;
	color:#FF0000;
	padding-left:5px;
	padding-right:5px;
	font-size:12px;
	line-height:15px;
	width:100px;
	float:none;
}
 </style>
 
 <script type="text/javascript">
// เช็คเวลา
function check(old,news){
	o=old.options[old.selectedIndex].value;
	n=news.options[news.selectedIndex].value;
	//alert('old'+olds+'new'+newss);
	if(o==''){
		alert('กรุณาตรวจสอบเวลาเริ่มต้น');
		return false;
	}else{
		if (o>=n){
		alert ('เวลาสิ้นสุดต้องมากกว่าเวลาเริ่มต้น');
	document.getElementById('txttotime').selectedIndex= '';
	}else{
		//alert(o+'<'+n);
		}
		}	
}
</script>
 
 <script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="jquery.galleriffic.js"></script>

<link rel='stylesheet' type='text/css' href='fullcalendar/redmond/theme.css' />
<link rel='stylesheet' type='text/css' href='fullcalendar/fullcalendar.css' />

<link rel="stylesheet" type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.css">
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function(){ 

    $("#dateInput").datepicker({
        dateFormat: "yy-mm-dd",
        minDate: 1,
		beforeShowDay: function(date) {
        var day = date.getDay();
        return [(day != 0), ''];
    }
    });  
    
});
</script>      

<style type="text/css">
.ui-datepicker{
	width:150px;
	font-family:tahoma;
	font-size:11px;
	text-align:center;
}
</style>


</head>


<body>
<table width="973" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><?PHP require('head.php'); ?></td>
  </tr>
  <tr>
    <td><table background="Picture/body.jpg" width="973" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="50">&nbsp;</td>
        <td width="200">&nbsp;</td>
        <td width="723">&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td valign="top"><?PHP require('leftmenu.php'); ?></td>
        <td valign="top" align="center">
        
        <form id="form1" name="form1" method="post" action="check_roomsearch.php">
            <table width="600" align="center" bgcolor="#FFCCCC" cellpadding="5" cellspacing="0">
              <tr>
             
                <td colspan="8" align="center" bgcolor="#B70404"><strong class="normal2">ตรวจสอบห้องว่าง</strong></td>
              </tr>
                 <tr>
                 <td align="right">&nbsp;</td>
                <td>&nbsp;</td>
                <td align="right">&nbsp;</td>
                <td>&nbsp;</td>
                <td></td>
              </tr>
              <tr>
                <td width="132" align="right"><span class="normal">วันที่ :</span></td>
                <td width="190"><input type="text" name="txtdate" id="dateInput" /></td>
                
                <td width="47" align="right">&nbsp;</td>
 

                <td width="181">&nbsp;</td>
          
                <td width="38"></td>
              </tr>
            
              <br />
              <tr>
                <td align="right"><span class="normal">เวลา :</span></td>
                <td><select name='txtfromtime' id='txtfromtime'>
                  <option value="" selected="selected">&lt;-- เลือก --&gt;</option>
                  <option value="08:00:00">08.00</option>
                  <option value="08:30:00">08.30</option>
                  <option value="09:00:00">09.00</option>
                  <option value="09:30:00">09.30</option>
                  <option value="10:00:00">10.00</option>
                  <option value="10:30:00">10.30</option>
                  <option value="11:00:00">11.00</option>
                  <option value="11:30:00">11.30</option>
                  <option value="12:00:00">12.00</option>
                  <option value="12:30:00">12.30</option>
                  <option value="13:00:00">13.00</option>
                  <option value="13:30:00">13.30</option>
                  <option value="14:00:00">14.00</option>
                  <option value="14:30:00">14.30</option>
                  <option value="15:00:00">15.00</option>
                  <option value="15:30:00">15.30</option>
                  <option value="16:00:00">16.00</option>
                  <option value="16:30:00">16.30</option>
                  <option value="17:00:00">17.00</option>
                  <option value="17:30:00">17.30</option>
                </select></td>
                <td align="right"><span class="normal">ถึง :</span></td>
                <td><select name='txttotime' id='txttotime' onchange="check(document.getElementById('txtfromtime'),this);">
                  <option value="" selected="selected">&lt;-- เลือก --&gt;</option>
                  <option value="08:30:00">08.30</option>
                  <option value="09:00:00">09.00</option>
                  <option value="09:30:00">09.30</option>
                  <option value="10:00:00">10.00</option>
                  <option value="10:30:00">10.30</option>
                  <option value="11:00:00">11.00</option>
                  <option value="11:30:00">11.30</option>
                  <option value="12:00:00">12.00</option>
                  <option value="12:30:00">12.30</option>
                  <option value="13:00:00">13.00</option>
                  <option value="13:30:00">13.30</option>
                  <option value="14:00:00">14.00</option>
                  <option value="14:30:00">14.30</option>
                  <option value="15:00:00">15.00</option>
                  <option value="15:30:00">15.30</option>
                  <option value="16:00:00">16.00</option>
                  <option value="16:30:00">16.30</option>
                  <option value="17:00:00">17.00</option>
                  <option value="17:30:00">17.30</option>
                  <option value="18:00:00">18.00</option>
                </select></td>
                
              </tr>
              
              <tr>
                <td colspan="5" align="center"><button type="submit" name="button" id="button" onclick="return chk_form()" value=" "><img src="picture/search.png" alt="" width="21" height="20" align="center" /> ค้นหา</button></td>
                </tr>
              <tr>
                <td colspan="5" align="center">&nbsp;</td>
              </tr>
            </table>
          </form> 
        <br />
       
        <table width="600" border="1" cellpadding="5" cellspacing="0">
              <tr>
                <td colspan="9" align="center" bgcolor="#B70404"><strong class="normal2">รายงานจองห้องประชุม</strong></td>
                </tr>
              <tr class="normal4" >
                <td width="89" align="center"
                " class="normal" bgcolor="#FFCCCC">ห้องประชุม</td>
                <td width="126" align="center" class="normal" bgcolor="#FFCCCC">วันที่</td>
                <td width="191" align="center" class="normal" bgcolor="#FFCCCC">เวลา</td>
                <td width="61" align="center" class="normal" bgcolor="#FFCCCC">จำนวน(คน)</td>
              
                <td width="61" align="center" class="normal" bgcolor="#FFCCCC">สถานะ</td>
                <td width="71" align="center" class="normal" bgcolor="#FFCCCC">จอง</td>
                
              </tr>
               <?PHP
		  if(!isset($start)){
$start = 0;
}
$limit = '15'; // แสดงผลหน้าละกี่หัวข้อ
$j =0;

            //ค้นหาว่ามีการจอง หรือยัง	
		$room_name = $room['room_name'];
		$date = $_POST['txtdate'];
		$fromtime = $_POST['txtfromtime'];
		$totime = $_POST['txttotime'];

			  
		$sql = "select * from  tbl_room WHERE room_status='W' AND room_name NOT IN (SELECT room_name FROM tbl_book WHERE  date = '".$date."' AND(
      (fromtime BETWEEN '".$fromtime."' AND '".$totime."') 
   OR (totime BETWEEN '".$fromtime."' AND '".$totime."')
   OR ('".$fromtime."' BETWEEN fromtime  AND totime)
   OR ('".$totime."' BETWEEN  fromtime  AND  totime ) ) ) order by room_id asc limit $start,$limit";
		 $result = mysql_query($sql) or die ("error = $sql");	 
		 while ( $num = mysql_fetch_array($result))
		  {  $originalDate = $book["date"];
             $newDate = date("d/m/Y", strtotime($originalDate));

			 if($bg == "#FFFFFF") { //ส่วนของการ สลับสี 
				$bg = "#FFFFCC";
				} else {
				$bg = "#FFFFFF";
					}
					$j ++; 
						$offset=($j + $start);  
						
			   ?>   
		  <?php 
		    $_SESSION['ses_roomname']=$num['room_name'];
			$_SESSION['ses_date']=$date;
			$_SESSION['ses_fromtime']=$fromtime;
			$_SESSION['ses_totime']=$totime;
?>
          
              <tr >
                <form id="form" name="room" method="post" action="bookroom_check.php"> <td align="center" class="normal"><font color="#009900"><?php echo $num ["room_name"]; ?></font></td>
                <td align="center" class="normal"><? echo $_SESSION['ses_date']?></td>
                <td align="center" class="normal"><? echo $_SESSION['ses_fromtime']?> - <? echo $_SESSION['ses_totime']?></td>
                <td align="center" class="normal"><?php echo $num ["room_seat"]; ?></td>
              
                <td align="center" class="normal">ห้องว่าง</td>
                <td align="center" class="normal"><button type="submit" name="button" id="button"  value=" "><img src="Picture/conference.png" alt="" width="21" height="22" align="center" />จอง</button></td>
              
             <?php }  ?> </form>
                </tr>
            </table> 
          <br />
           <p align="center" class="normal">&nbsp;</p></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td><?PHP require('footer.php'); ?></td>
  </tr>
</table>
</body>
</html>


Janjung 158.108.209.xxx 19-12-2014 14:46:03

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
อยากให้แสดงข้อมูลเหมือนกับ เว็บนี้ค่ะ http://ihpp.thaigov.net/room/imeeting/index.php/roomquery/roombusy


janjung 158.108.209.xxx 19-12-2014 14:47
 ความคิดเห็นที่ 2
โครงสร้างแบบนี้ใช้ LEFT JOIN น่าจะถูกวิธีกว่า 

การใช้งาน SQL LEFT JOIN 


ninenik 171.96.41.xxx 19-12-2014
 ความคิดเห็นที่ 3
พี่คะ หนูลองทำแล้ว แต่มันขึ้นเฉพาะรายการที่ถูกจองอย่างเดียวค่ะ ไม่ยอมขึ้นรายการห้องว่างค่ะ
ช่วยดูหน่อยนะคะว่าผิดตรงไหน ^^ ขอบคุณค่ะ

// ใช้ 3อันนี้สำหรับการค้นหา
		$date = $_POST['txtdate'];
		$fromtime = $_POST['txtfromtime'];
		$totime = $_POST['txttotime'];

$sql = "select * from  tbl_room INNER JOIN tbl_book ON tbl_room.room_name = tbl_book.room_name WHERE tbl_room.room_status='W' 

// ให้โชว์รายการที่ถูกจอง
AND (tbl_room.room_name NOT IN (SELECT tbl_book.room_name FROM tbl_book INNER JOIN tbl_room WHERE  tbl_book.date = '".$date."' AND(
      (tbl_book.fromtime BETWEEN '".$fromtime."' AND '".$totime."') 
   OR (tbl_book.totime BETWEEN '".$fromtime."' AND '".$totime."')
   OR ('".$fromtime."' BETWEEN tbl_book.fromtime  AND tbl_book.totime)
   OR ('".$totime."' BETWEEN  tbl_book.fromtime  AND  tbl_book.totime ) ) )
   
//หรือโชว์ห้องว่าง
   OR tbl_room.room_name NOT IN (SELECT tbl_book.room_name FROM tbl_book INNER JOIN tbl_room WHERE  tbl_book.date = '".$date."' AND(
      (tbl_book.fromtime BETWEEN '".$fromtime."' AND '".$totime."') 
   OR (tbl_book.totime BETWEEN '".$fromtime."' AND '".$totime."')
   OR ('".$fromtime."' BETWEEN tbl_book.fromtime  AND tbl_book.totime)
   OR ('".$totime."' BETWEEN  tbl_book.fromtime  AND  tbl_book.totime ) ) ) ) order by tbl_room.droom_id";


janjung 158.108.209.xxx 21-12-2014 11:33
 ความคิดเห็นที่ 4
โครงสร้างฐานข้อมูล คงต้องไล่เอง เพระาไม่รู้ว่าความสัมพันธ์ของตารางทั้งหมด  แนะนำได้แค่แนวทาง


ninenik 1.46.82.xxx 21-12-2014
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ