|
|
|
เพิ่มเวลาแล้ว แสดงออกมาแล้วมันเพี้ยน มันจะอยู่ server phpMyAdmin 2.10.3 ของผมไม่ครับขอคำแนะนำหน่อยครับ |
|
|
|
|
|
|
|
คุณลองเปิด phpMyAdmin ดูครับ ถ้ามันเพี้ยน แสดงว่าเพี้ยนตั้งแต่ตอนที่ Insert แล้วครับ
|
|
|
|
|
Date :
2012-03-01 17:39:03 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตัวนี้นะครับที่ดึงค่ามาแสดง
แต่ตัวที่ Insert
Code (PHP)
<?
session_start();
if($_SESSION['id_student'] == "")
{
echo "Please Login!";
exit();
}
mysql_connect("localhost","root","root");
mysql_select_db("library");
$strSQL = "SELECT * FROM student WHERE id_student = '".$_SESSION['id_student']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<html>
<head>
<title>Save</title>
</head>
<body>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("library");
$strSQL = "INSERT INTO book_reserved(call_number,id_student,day_test_borrow,day_test_retrue) VALUES('".$_GET["call"]."','".$_GET['id']."' ,DATE_ADD('".$_GET["bor"]."',INTERVAL 1 DAY) ,DATE_ADD('".$_GET["re"]."',INTERVAL 7 DAY) )";
$objQuery = mysql_query($strSQL);
if($objQuery)
{
echo "<meta http-equiv='refresh' content='0;url=menu.php'>";
}
else
{
echo "Error Save [".$strSQL."]";
}
mysql_close($objConnect);
?>
</body>
</html>
|
|
|
|
|
Date :
2012-03-01 19:16:38 |
By :
kasano106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปัญหาเกิดที่ บรรทัดนี้ครับ
Code (PHP)
$borrow[] =date('Y-m-d',strtotime('+7 day',$objResult["day_test_borrow"]));
การใช้ function date กับ strtotime เพื่อทำการ date add
มีปัญหานิดหน่อยตรง strtotime ครับ
การจะ +7 วัน ถัดไปนั้น
ถ้าใช้เป็น
strtotime('+7 day') เฉยๆจะได้ เป็น วันที่ถัดไป7วันจากวันที่ปัจจุบัน
แต่ถ้าหากต้องการได้ค่า วันที่ถัดไป 7 วัน จาก วันที่เรากำหนด เช่น 2012-03-02
ใช้ strtotime('+7 day' , '2012-03-02') เฉยๆไม่ได้ครับ
เพราะตรง '2012-03-02' ผิดคิดว่าโปรแกรมมันยังมองว่าเป็นค่า string อยู่
วิธีแก้คือ ต้อง convert '2013-03-02' ให้เป็น date ก่อน
strtotime('+7 day' , strtotime('2012-03-02'))
ใช้ strtotime คลุมไปสองรอบครับ
Code (PHP)
$borrow[] =date('Y-m-d',strtotime('+7 day' , strtotime($objResult["day_test_borrow"]) ));
อ้างอิงจาก http://php.net/manual/en/function.strtotime.php
int strtotime ( string $time [, int $now = time() ] )
parameter แรก เป็น string
ส่วน parameter ถัดมาที่เป็น Optional นั้น ต้องเป็น time ครับ
|
|
|
|
|
Date :
2012-03-02 08:32:48 |
By :
Likito |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่ายๆครับพี่ ขอบคุณครับ
|
|
|
|
|
Date :
2012-03-02 10:35:40 |
By :
kasano106 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|