|
|
|
ต้องการแสดงประวัติการเข้าใช้งานระบบ รายงานตามเดือนและปีที่เลือก |
|
|
|
|
|
|
|
ดูโค้ดให้หน่อยค่ะ ไม่รู้ผิดตรงไหน
Code (PHP)
<?
// เชื่่อมต่อฐานข้อมูล
$host="localhost"; // กำหนด host
$username="root"; // กำหนด username
$password="1234"; // กำหนด Password
$db="ChildDevelopmentCenterLahanSaiDB"; // กำหนดชื่อฐานข้อมูล
$Conn = mysql_connect( $host,$username,$password) or die ("ติดต่อฐานข้อมูลไม่ได้");// ติดต่อฐานข้อมูล
mysql_query("SET NAMES utf8",$Conn); // set กำหนดมาตราฐาน
mysql_select_db($db) or die("เลือกฐานข้อมูลไม่ได้"); // เลือกฐานข้อมูล
$strSQL = "SELECT * FROM userlog WHERE userID = '".$_SESSION['userID']."' ";
if($_POST["month"] != "" and $_POST["year"] != '')
{
$strSQL .= " AND (".$_POST["month"]." LIKE '%" .$_POST["year"]."%' ) ";
}
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .="order by idlog ASC LIMIT $Page_Start,$Per_Page";
$objQuery = mysql_query($strSQL);
?>
<?php
date_default_timezone_set('Asia/Bangkok');
function Thai_date($datetime){
list($date,$time) = split(' ',$datetime);
$date = explode("-",$datetime);
$thday = $date[0];
$month = $date[1];
$Y = $date[2];
$Y = $Y+=543;
list($H,$i,$s) = split(':',$time);
if($thday <10)
$thday = substr($thday,1,1);
$thMonth = array("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน",
"กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$datetime = $thday." ".$thMonth[$month-1]." ".$Y." ".$time;
return $datetime;
return $Thai_date_return;
}
?>
<form name="form1" method="post" action="<? echo $_SERVER["PHP_SELF"];?>">
เดือน
<select name="month" id="month">
<option value="0">---เลือกเดือน---</option>
<option value="01" <? if ($month == '01'){ ?>selected<? }?>>มกราคม</option>
<option value="02"<? if($month == '02'){ ?>selected<? }?>>กุมภาพันธ์</option>
<option value="03"<? if ($month == '03'){ ?>selected<? }?>>มีนาคม</option>
<option value="04"<? if($month == '04'){ ?>selected<? }?>>เมษายน</option>
<option value="05"<? if($month == '05'){ ?>selected<? }?>>พฤษภาคม</option>
<option value="06"<? if($month == '06'){ ?>selected<? }?>>มิถุนายน</option>
<option value="07"<? if($month == '07'){ ?>selected<? }?>>กรกฎาคม</option>
<option value="08"<? if($month == '08'){ ?>selected<? }?>>สิงหาคม</option>
<option value="09"<? if($month == '09'){ ?>selected<? }?>>กันยายน</option>
<option value="10"<? if($month == '10'){ ?>selected<? }?>>ตุลาคม</option>
<option value="11"<? if($month == '11'){ ?>selected<? }?>>พฤศจิกายน</option>
<option value="12"<? if($month == '12'){ ?>selected<? }?>>ธันวาคม </option>
</select> พ.ศ.
<select name="year" id="year">
<option value="0">---เลือกปี---</option>
<?php
for ($j=date('Y')+543; $j>=2550; $j--){
if ($year == $j){
echo "<option value='$j' selected>$j</option>";
}else{
echo "<option value='$j'>$j</option>";
}}
?>
</select>
<input type="submit" name="submit" value="ตกลง"/>
<input type="hidden" name="search" id="search" value="<? echo $search?>">
</form>
</div>
<div id="re">
<!-- CheckAll Delete-->
<a id="log<?php echo $i;?>" href="show_userlog.php?userID=<?php echo $objResult["userID"];?>" target="_blank" style="float: right; margin: 10px 0px;"><img src="images/view.png" title="ดู"/ ></a>
<table width="100%" border="0" cellspacing="1">
<thead>
<tr>
<th class="head1" width="3%">ลำดับ</th>
<th class="head1" width="5%">ไอดี</th>
<th class="head1" width="5%">ชื่อ</th>
<th class="head1" width="20%">วันที่</th>
<th class="head1" width="10%">เวลาเข้า</th>
<th class="head1" width="10%">เวลาออก</th>
</tr>
<?
if(mysql_num_rows($objQuery) <1){
?>
<tr>
<td height="50"colspan="5"><div align="center"> ไม่พบข้อมูลในระบบ</div></td></tr>
<? }else{ $i=0;
if($Page > 1)
{
$i = ($Per_Page * ($Page-1));
}
while($objResult = mysql_fetch_array($objQuery))
{
$i++;
?>
</thead>
<tr>
<td><div align="center"><?php echo $i+$start ?></div></td>
<td><div align="center"><?php echo $objResult["userID"];?></div></td>
<td align="center"><?php echo $objResult["name"];?></td>
<td align="center"><?php echo Thai_date($objResult["date"]);?></td>
<td align="center"><?php echo $objResult["time_in"];?></td>
<td align="center"><?php echo $objResult["time_out"];?></td>
</tr>
<?php
}}
?>
</table>
<br>
ทั้งหมด <?php echo $Num_Rows;?> รายการ : หน้า
<?php
$pages = new Paginator;
$pages->items_total = $Num_Rows;
$pages->mid_range = 10;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
$pages->paginate();
echo $pages->display_pages()
?>
<?php
mysql_close($Conn);
?>
[/php]
อยากให้ค้นหาเฉพาะเดือนที่เลือก เช่น เดือน เมษายน 2559 แต่มันขึ้น ว่าไม่พบข้อมูลในระบบ
Tag : PHP, MySQL, HTML/CSS, JavaScript
|
ประวัติการแก้ไข 2016-05-06 15:44:10 2016-05-06 15:51:04 2016-05-06 16:22:03 2016-05-06 16:31:19
|
|
|
|
|
Date :
2016-05-06 15:42:10 |
By :
Ninny |
View :
1560 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$_POST['month'] และ $_POST['year'] ห้ามแยกกันครับ ต้อง QUERY แบบนี้ ถึงจะได้
Code (PHP)
SELECT * FROM userlog WHERE userID = 1 AND date LIKE '2016-05-06'
โค้ดที่เขียนอยู่เงื่อนไข query ผิดด้วยครับ ไม่มีเงื่อนไข column ที่จะหาเดือนปี
|
|
|
|
|
Date :
2016-05-06 17:34:19 |
By :
ALTELMA |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|