|
|
|
ไม่ทราบว่าพอมีวิธี ค้นหา วันเดือนปีที่เกษียน โดยอ้างวันเกิดไหมครับ |
|
|
|
|
|
|
|
ใช้ BETWEEN ครับ
เปลี่ยน 2550 เป็นปีที่ต้องการ จะเป็นตัวแปรใน PHP อะไรก็ว่าไป
Code (SQL)
SELECT *
FROM `table`
WHERE
`birthday`
BETWEEN
CONCAT(2550 - 60, '-07-01') # ตั้งแต่วันที่ 1 เดือน 7 ของปี -60
AND CONCAT(2550 - 59, '-06-30') # จนถึงวันที่ 30 เดือน 6 ของปี -59
|
|
|
|
|
Date :
2013-04-05 19:02:38 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ พี่แมว
|
|
|
|
|
Date :
2013-04-05 19:06:28 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ออกเพราะไม่มีข้อมูลไงล่ะครับ
ข้อมูลในตารางของน้องคือ
1999-04-02
1999-10-02
แต่ถ้า -60 และ 59
มันจะเป็น
1939 หรือ 1940 ไงล่ะครับ
มันจะเข้าเงื่อนไขได้อย่างไรล่ะครับ
|
|
|
|
|
Date :
2013-04-06 00:52:21 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$year = $_POST['year'];//2550
$year = $year - 543;//แปลงเป็น ค.ศ. 2007
$year1 = ($year - 60);//1947
$year2 = ($year - 59);//1948
$start1 = $year1.'-07-01';// 1947-07-01
$end1 = $year1.'-12-31';// 1947-12-31
$start2 = $year2.'-01-01';// 1948-01-01
$end2 = $year2.'-06-30';// 1948-06-30
$sql = "SELECT * FROM ob WHERE (birth BETWEEN '$start1' AND '$end2') ";
ต้องให้แน่ใจนะครับว่า birth อยู่ในรูปแบบ yyyy-mm-dd
คำสั่ง SQL ข้างบนนี้ก็คือ เมื่อส่ง 2550 มาจะแปลงเป็น ค.ศ. ก่อน ( เพราะรูปแบบสากลใช้เป็น yyyy-mm-dd )
ก็จะไปหาข้อมูลของผู้ที่มีวันเกิด ตั้งแต่วันที่ 1947-07-01 จนถึง 1948-06-30
|
|
|
|
|
Date :
2013-04-06 09:39:52 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ครับ แล้ว ตัว textbox ที่จะใส่เพื่อค้นหา จะใส่ยังไงครับ
date ผมเป็น yyyy-mm-dd ครับ
ผมลอง echo ดู แล้วลองวาง $_GET["txtKeyword"] ไปในโค้ดแล้วแต่มันก็ไม่ออกครับ
แบบว่า รับค่าไมได้ ก็เลยนำมาคำนวณไม่ได้
Code (PHP)
<html>
<head>
<title></title>
<style type="text/css">
.style1 {font-size: xx-large;
font-weight: bold;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<style type="text/css">
body {
background-image: url(Old-Paper-Background-520x346.jpg);
}
</style>
</head>
<body>
<?
include("menu.php");
?>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="865" border="1" align="center">
<tr> </tr>
</table>
<table width="599" border="1" align=center>
<tr>
<th>ค้นหาโดยกรอกวันเกิด
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?
if($_GET["txtKeyword"] != "")
{
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("police_mamber");
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client=tis620");
mysql_query("SET character_set_connection=tis620");
****************************************************************************
$year = $_POST['year'];
$year = $year - 543;//แปลงเป็น ค.ศ. 2007
$year1 = ($year - 60);//1947
$year2 = ($year - 59);//1948
$start1 = $year1.'-07-01';// 1947-07-01
$end1 = $year1.'-12-31';// 1947-12-31
$start2 = $year2.'-01-01';// 1948-01-01
$end2 = $year2.'-06-30';// 1948-06-30
$strSQL = "SELECT * FROM ob WHERE (birth BETWEEN '$start1' AND '$end2') ";
****************************************************************************
$id=$result["id"];
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<center><table width="800" border="1">
<tr>
<td><table width="800" border="1" align=center>s
<tr>
<th width="70" bgcolor="#EEEEEE"> <div align="center">ลำดับที่ </div></th>
<th width="120" bgcolor="#EEEEEE"> <div align="center">รหัสประชาชน </div></th>
<th width="20" bgcolor="#EEEEEE"> <div align="center">ยศ</div></th>
<th width="60" bgcolor="#EEEEEE"> <div align="center">เพศ</div></th>
<th width="150" bgcolor="#EEEEEE"> <div align="center">ขื่อ</div></th>
<th width="150" bgcolor="#EEEEEE"> <div align="center">นามสกุล</div></th>
<th width="50" bgcolor="#EEEEEE"> <div align="center">เลือก</div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td bgcolor="#EEEEEE"><?=$objResult["id"];?></td>
<td bgcolor="#EEEEEE"><?=$objResult["idpeople"];?></td>
<td bgcolor="#EEEEEE"><?=$objResult["rank"];?></td>
<td bgcolor="#EEEEEE"><?=$objResult["sex"];?>
</div></td>
<td bgcolor="#EEEEEE" ><?=$objResult["name"];?></td>
<td bgcolor="#EEEEEE" ><?=$objResult["lastname"];?></td>
<td ><?=displaydate($objResult["birth"]);?></td>
<td ><?=$y;?></td>
<td bgcolor="#EEEEEE"><a href='dbpoliceshow.php?id=<?php echo $objResult["id"]; ?>',<?=$objResult["FilesID"];?>>edit</a>
</center>
</tr>
<?
}
?>
</table></td>
</tr>
</table>
<?
mysql_close($objConnect);
}
?>
</body>
</html>
|
ประวัติการแก้ไข 2013-04-06 11:03:30 2013-04-06 11:03:50 2013-04-06 11:05:38 2013-04-06 11:12:59 2013-04-06 11:23:16
|
|
|
|
Date :
2013-04-06 11:01:41 |
By :
puldool |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรงบรรทัดที่ 057
$year = $_POST['year'];
ให้เปลี่ยนเป็น
Code (PHP)
$year = $_GET['txtKeyword'];
และค่าที่ส่งมาจากแบบฟอร์ม ต้องเป็นปี พ.ศ. ครับ (ส่งมาแค่ปีอย่างเดียว)
อ้างอิงตามรูปแรกด้านบนสุด
|
ประวัติการแก้ไข 2013-04-06 16:38:03
|
|
|
|
Date :
2013-04-06 16:37:03 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|