where date = อ้างอิงจากปฏิทิน

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

where date = อ้างอิงจากปฏิทิน
สวัสดีครับ รบกวนท่านกูรูอีกครั้งครับ

ถ้าตรงเงื่อนไข WHERE b.date = '2016-09-10'

จะอ้างอิงจาก ปฏิทิน (ภาพด้านล่าง) ต้องเพิ่มเติมส่วนไหนครับ

calender

โค้ดปฏิทิน

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" media="all" type="text/css" href="jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="jquery-ui-timepicker-addon.css" />
<script type="text/javascript" src="jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript" src="jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="jquery-ui-sliderAccess.js"></script>
</head>

<body>
<script type="text/javascript">
$(function(){
$("#dateInput").datepicker({
dateFormat: 'dd-M-yy'
});
});

</script>
<input type="text" name="dateInput" id="dateInput" value="" />
</body>
</html>


Code (SQL)

SELECT a.* FROM table_student a WHERE a.stdid NOT IN (SELECT b.stdid FROM table_scan b WHERE b.date = '2016-09-10')

thanks


Azhary Pk 110.77.171.xxx 13-09-2016 06:37:03

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

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


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


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

 ความคิดเห็นที่ 1
ดูแนวทางการส่งค้า การค้นหา หลายรูปแบบจาดตัวอยางนี้ดู

แนวทาง การค้นหาจาก หลายรูปแบบ และแบ่งหน้า อย่างง่าย 
https://www.ninenik.com/content.php?arti_id=573 via @ninenik

ตรงรูปแบบปฏิทิน สามารถกำหนด dateformat เป็น yy-mm-dd

เวลานำไปใช้จะได้ไม่ต้องแปลงให้อยู่ในรูปแบบ 0000-00-00 


ninenik 180.183.52.xxx 13-09-2016
 ความคิดเห็นที่ 2
 ลองปะติดปะต่อ ครับ ผลออกมาตามรูปด้านล่างครับ
   <!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Thamislamsuksa School</title>
<style type="text/css">
/* css แบ่งหน้า */
.browse_page{   
    clear:both;   
    margin-left:25px;   
    height:25px;   
    margin-top:5px;   
    display:block;   
}   
.browse_page a,.browse_page a:hover{   
    display:block;   
    width: 2%;
    font-size:14px;   
    float:left;   
    margin:0px 5px;
    border:1px solid #CCCCCC;   
    background-color:#F4F4F4;   
    color:#333333;   
    text-align:center;   
    line-height:22px;   
    font-weight:bold;   
    text-decoration:none;   
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
}   
.browse_page a:hover{   
    border:1px solid #CCCCCC;
    background-color:#999999;
    color:#FFFFFF;   
}   
.browse_page a.selectPage{   
    display:block;   
    width:45px;   
    font-size:14px;   
    float:left;   
    margin-right:2px;   
    border:1px solid #CCCCCC;
    background-color:#999999;
    color:#FFFFFF;   
    text-align:center;   
    line-height:22px;    
    font-weight:bold;   
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
}   
.browse_page a.SpaceC{   
    display:block;   
    width:45px;   
    font-size:14px;   
    float:left;   
    margin-right:2px;   
    border:0px dotted #0A85CB;   
    background-color:#FFFFFF;   
    color:#333333;   
    text-align:center;   
    line-height:22px;   
    font-weight:bold;   
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
}   
.browse_page a.naviPN{   
    width:50px;   
    font-size:12px;   
    display:block;   
/*    width:25px;   */
    float:left;   
    border:1px solid #CCCCCC;
    background-color:#999999;
    color:#FFFFFF;   
    text-align:center;   
    line-height:22px;   
    font-weight:bold;      
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;    
}  
/* จบ css แบ่งหน้า */
</style>
 <!--css calender -->
<link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css">
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="jquery.datetimepicker.js"></script>
        <!--css calender -->
</head>

<body>

    <?php
  include('dbconnect.php');
?>  
<?php
// ฟังก์ชั่นสำหรับการแบ่งหน้า NEW MODIFY
function page_navi($before_p,$plus_p,$total,$total_p,$chk_page){      
    global $urlquery_str;   
    $pPrev=$chk_page-1;   
    $pPrev=($pPrev>=0)?$pPrev:0;   
    $pNext=$chk_page+1;   
    $pNext=($pNext>=$total_p)?$total_p-1:$pNext;        
    $lt_page=$total_p-4;   
    if($chk_page>0){     
        echo "<a  href='$urlquery_str"."pages=".intval($pPrev+1)."' class='naviPN'>Prev</a>";   
    }   
    if($total_p>=11){   
        if($chk_page>=4){   
            echo "<a $nClass href='$urlquery_str"."pages=1'>1</a><a class='SpaceC'>. . .</a>";      
        }   
        if($chk_page<4){   
            for($i=0;$i<$total_p;$i++){     
                $nClass=($chk_page==$i)?"class='selectPage'":"";   
                if($i<=4){   
                echo "<a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";      
                }   
                if($i==$total_p-1 ){    
                echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";      
                }          
            }   
        }   
        if($chk_page>=4 && $chk_page<$lt_page){   
            $st_page=$chk_page-3;   
            for($i=1;$i<=5;$i++){   
                $nClass=($chk_page==($st_page+$i))?"class='selectPage'":"";   
                echo "<a $nClass href='$urlquery_str"."pages=".intval($st_page+$i+1)."'>".intval($st_page+$i+1)."</a> ";         
            }   
            for($i=0;$i<$total_p;$i++){     
                if($i==$total_p-1 ){    
                $nClass=($chk_page==$i)?"class='selectPage'":"";   
                echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";      
                }          
            }                                      
        }      
        if($chk_page>=$lt_page){   
            for($i=0;$i<=4;$i++){   
                $nClass=($chk_page==($lt_page+$i-1))?"class='selectPage'":"";   
                echo "<a $nClass href='$urlquery_str"."pages=".intval($lt_page+$i)."'>".intval($lt_page+$i)."</a> ";      
            }   
        }           
    }else{   
        for($i=0;$i<$total_p;$i++){     
            $nClass=($chk_page==$i)?"class='selectPage'":"";   
            echo "<a href='$urlquery_str"."pages=".intval($i+1)."' $nClass  >".intval($i+1)."</a> ";      
        }          
    }      
    if($chk_page<$total_p-1){   
        echo "<a href='$urlquery_str"."pages=".intval($pNext+1)."'  class='naviPN'>Next</a>";   
    }   
}
?>




<div style="margin:auto;text-align:center;width:750px;">
<!--ส่วนสร้างฟอร์ม สำหรับค้นหา -->
<center>
 <form name="itoffside" method="POST">
            <input type="text" name="startdate" value="" id="startdate" />
        </form>
        <script type="text/javascript">
            jQuery('#startdate').datetimepicker({
                lang:'th',
                timepicker:false,
                format:'Y/m/d'
            });
        </script>
          <input type="submit" name="button" id="button" value="ค้นหา" />
        </center>

<br />

<table width="100%" border="0" align="center" cellpadding="" cellspacing="">
<tbody>
  <tr>
    <td align="center" >
 <br />

    <table width="750" border="1" cellspacing="" cellpadding="" style="border-collapse:collapse;">
        <tr>

          <th width="5%" bgcolor="#BDBDBD"><FONT   FACE="traditional arabic"  FONT SIZE=5><b> <div align="center">ลำดับ</div></font></th>
              <th width="10%" bgcolor="#BDBDBD"><FONT   FACE="traditional arabic"  FONT SIZE=5><b> <div align="center">รหัส</div></font></th>
              <th width="15%" bgcolor="#BDBDBD"><FONT   FACE="traditional arabic"  FONT SIZE=5><b> <div align="center">ชื่อ</div></font></th>
              <th width="15%" bgcolor="#BDBDBD"><FONT   FACE="traditional arabic"  FONT SIZE=5><b> <div align="center">นามสกุล</div></font></th>
                   <th width="15%" bgcolor="#BDBDBD"><FONT   FACE="traditional arabic"  FONT SIZE=5><b> <div align="center">วันที่</div></font></th>
                        <th width="10%" bgcolor="#BDBDBD"><FONT   FACE="traditional arabic"  FONT SIZE=5><b> <div align="center">เวลา</div></font></th>
                             <th width="15%" bgcolor="#BDBDBD"> <FONT   FACE="traditional arabic"  FONT SIZE=5><b><div align="center">สาย</div></font></th>
     <th width="7%" bgcolor="#BDBDBD"> <FONT   FACE="traditional arabic"  FONT SIZE=5><b><div align="center"><a href="print/bahs_name&date.php" target="_blank">รายงาน<a/></div></font></th>
        </tr>
<?php
        $i=1;
         $q =   "SELECT student.StudentID,student.RFID,student.Name,student.Surname,scan.NoID,scan.RFID,scan.Date,scan.Time,scan.Late
                      FROM student LEFT JOIN scan                         
                      ON student.RFID=scan.RFID
                          WHERE student.RFID NOT IN (SELECT scan.RFID FROM scan WHERE 1)
                          ORDER BY NoID DESC ";
            
         
         
    $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
    
        // เงื่อนไขการค้นหา ถ้ามีการส่งค่า ตัวแปร $_GET['keyword']
        if(isset($_GET['keyword']) && $_GET['keyword']!=""){
            // ต่อคำสั่ง sql
            $q.=" AND Date LIKE '%".trim($_GET['keyword'])."%' ";    
        }
        $qr=@mysql_query($q);    
       
        $total=@mysql_num_rows($qr);
        $e_page=15; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า  
        if(!isset($_GET['pages'])){  
            $_GET['pages']=0;  
        }else{  
            $_GET['pages']=$_GET['pages']-1;
            if($_GET['pages']<0){
                $_GET['pages']=0;    
            }
            $chk_page=$_GET['pages'];    
            $_GET['pages']=$_GET['pages']*$e_page;  
        }  
        $q.=" ORDER BY UserID ASC  LIMIT ".$_GET['pages'].",$e_page";
           
        $qr=@mysql_query($q);    
        if(@mysql_num_rows($qr)>=1){  
            $plus_p=($chk_page*$e_page)+@mysql_num_rows($qr);  
        }else{  
            $plus_p=($chk_page*$e_page);      
        }  
        $total_p=ceil($total/$e_page);  
        $before_p=($chk_page*$e_page)+1; 
        /// END PAGE NAVI ZONE            
       
        while($rs=@mysql_fetch_array($qr)){
?>  
  <tr>
  <td width="50" align="center" bgcolor="#D9D9D9"><?=(($e_page*$chk_page)+$i)?></td>

        <td><div align="center"><FONT   FACE="traditional arabic" FONT SIZE=4><b><?php echo $objResult["StudentID"];?></div></td>
              <td><div align="right"><FONT   FACE="traditional arabic" FONT SIZE=5><b><?php echo $objResult["Name"];?>&nbsp;&nbsp;</div></td>
                   <td><div align="right"><FONT   FACE="traditional arabic" FONT SIZE=5><b><?php echo $objResult["Surname"];?>&nbsp;&nbsp;</div></td>
                         <td><div align="center"><FONT   FACE="traditional arabic" FONT SIZE=4><b><?php echo $objResult["Date"];?></div></td>
                                <td><div align="center"><FONT   FACE="traditional arabic" FONT SIZE=4><b><?php echo $objResult["Time"];?></div></td>
 
  <td align="center" bgcolor="#BDBDBD"><a href="#" target="_blank"><img src="#"/></a></td>
       <td align="center"><font color="red">
       <?php
    $check_time1=strtotime(date("Y-m-d ".$objResult["Time"]));    
    $check_time2=strtotime(date("Y-m-d 21:00:00"));  
    if($check_time1<=$check_time2){
        echo "";
    }else{
        echo "".$objResult["Late"]; 
    }      
?>  
       
       
       </font></td>
    
  </tr>
<?php $i++; } ?>     
    </table>
    
    <br />

    </td>
  </tr>
</tbody>

 <!----------------------------ค้นหา--------------------------->
<thead>
  <tr>
    <td align="center" bgcolor="#D9D9D9">
    
    
    
 
<div style="margin:auto;width:100%;" >
  <?php if($total>10){ ?>                  
   <div class="browse_page">   
    <?php      
    if(count($_GET)<=1){
        $urlquery_str="?";
    }else{
        $para_get="";
        foreach($_GET as $key=>$value){
            if($key!="pages"){
                $para_get.=$key."=".$value."&";
            }
        }
        $urlquery_str="?$para_get";
    }
    // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า      
    page_navi($before_p,$plus_p,$total,$total_p,$chk_page);       
    ?>
    </div>   
    <?php } ?>  
</div>    
    
   
    
    
    </td>
  </tr>
  <tr>
 
 
  <td height="5" align="left"></td>
  </tr>
</thead>  

<tfoot>
  <tr>
  <td height="5">&nbsp;</td>
  </tr>
  <tr>
    <td align="center" bgcolor="#D9D9D9">
    
   

 <div style="margin:auto;width:100%;">
     <?php if($total>10){ ?>                  
    <div class="browse_page">   
   <?php      
    // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า      
    page_navi($before_p,$plus_p,$total,$total_p,$chk_page);       
    ?>
    </div>   
    <?php } ?>     
</div>  
    
   
    
    </td>
  </tr>
</tfoot>    
</table>
 <!----------------------------ค้นหา--------------------------->
</div>


</body>
</html>


รบกวนช่วยดูโค้ดหน่อยครับ
        


Azhary Pk 110.77.171.xxx 13-09-2016 11:09
 ความคิดเห็นที่ 3
ORDER BY ส่วนแรกตัดออก เพราะซ้อนกัน

         $q =   "SELECT student.StudentID,student.RFID,student.Name,student.Surname,scan.NoID,scan.RFID,scan.Date,scan.Time,scan.Late
                      FROM student LEFT JOIN scan                         
                      ON student.RFID=scan.RFID
                          WHERE student.RFID NOT IN (SELECT scan.RFID FROM scan WHERE 1)
                          ORDER BY NoID DESC ";

หรือถ้าต้องการกำหนด ให้ไปกำหนดในส่วนของโค้ด


    $q.=" ORDER BY UserID ASC  LIMIT ".$_GET['pages'].",$e_page";

ลองไล่เทียบกับโค้ดตัวอย่าง แล้วทำความเข้าใจเพิ่มเติม




ninenik 180.183.52.xxx 13-09-2016
 ความคิดเห็นที่ 4
รบกวนตรวจดูโค้ดอีกครั้งครับ Error หายเเล้วครับ



เเต่ ผลการค้นหา ไม่เเสดงครับ





โค้ด สำหรับค้นหา

<center>
<form name="itoffside" method="POST">
<input type="text" name="startdate" value="" id="startdate" />
<input type="submit" name="button" id="button" value="ค้นหา" />
</center>
</form>
<script type="text/javascript">
jQuery('#startdate').datetimepicker({
lang:'th',
timepicker:false,
format:'Y/m/d'
});
</script>

โค้ด sql

$strSQL = "SELECT student.SID,student.NoID,student.Name,student.Surname,Ac.NoID,Ac.Date,Ac.Time
FROM student LEFT JOIN Ac
ON student.NoID=Ac.NoID
WHERE student.NoID NOT IN (SELECT Ac.NoID FROM Ac)";



$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");

// เงื่อนไขการค้นหา ถ้ามีการส่งค่า ตัวแปร $_GET['keyword']
if(isset($_GET['keyword']) && $_GET['keyword']!=""){
// ต่อคำสั่ง sql
$q.=" AND Date LIKE '%".trim($_GET['keyword'])."%' ";
}
$qr=@mysql_query($q);


Azhary Pk 110.78.175.xxx 15-09-2016 00:09
1






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