|
|
|
สอบถามเรื่องปฏิทิน datepicker ทำไมเก็บลงฐานข้อมูลเป็น 0000-00-00 |
|
|
|
|
|
|
|
โหลด datepicker จากเว็บนึงมาค่ะ เป็นปฏิทินที่เก็บเป็น พ.ศ.
เมื่อรันแล้วลองบันทึกข้อมูล ทำไมมันเก็บลงฐานข้อมูลเป็น 0000-00-00 ช่วยดูให้ด้วยนะคะ ขอบคุณค่ะ
Code (PHP)
<?php require_once('Connections/con_nect.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO all_work (start_date, end_date, detail, note) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['start_date'], "date"),
GetSQLValueString($_POST['end_date'], "date"),
GetSQLValueString($_POST['detail'], "text"),
GetSQLValueString($_POST['note'], "text"));
mysql_select_db($database_con_nect, $con_nect);
$Result1 = mysql_query($insertSQL, $con_nect) or die(mysql_error());
$insertGoTo = "all_work_suc.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
?>
<!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>ปฏิทินการปฏิบัติงานการฝึกประสบการณ์วิชาชีพ</title>
<link type="text/css" href="css/ui-lightness/jquery-ui-1.8.10.custom.css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.10.offset.datepicker.min.js"></script>
<script type="text/javascript">
$(function () {
var d = new Date();
var toDay = d.getDate() + '/'
+ (d.getMonth() + 1) + '/'
+ (d.getFullYear() + 543);
// Datepicker
$("#datepicker-th").datepicker({ dateFormat: 'dd/mm/yy', isBuddhist: true, defaultDate: toDay, dayNames: ['อาทิตย์', 'จันทร์', 'อังคาร', 'พุธ', 'พฤหัสบดี', 'ศุกร์', 'เสาร์'],
dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.']});
$("#datepicker-th-2").datepicker({ changeMonth: true, changeYear: true,dateFormat: 'dd/mm/yy', isBuddhist: true, defaultDate: toDay,dayNames: ['อาทิตย์','จันทร์','อังคาร','พุธ','พฤหัสบดี','ศุกร์','เสาร์'],
dayNamesMin: ['อา.','จ.','อ.','พ.','พฤ.','ศ.','ส.'],
monthNames: ['มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม'],
monthNamesShort: ['ม.ค.','ก.พ.','มี.ค.','เม.ย.','พ.ค.','มิ.ย.','ก.ค.','ส.ค.','ก.ย.','ต.ค.','พ.ย.','ธ.ค.']});
$("#datepicker-en").datepicker({ dateFormat: 'dd/mm/yy'});
$("#inline").datepicker({ dateFormat: 'dd/mm/yy', inline: true });
});
</script>
<style type="text/css">
/*demo page css*/
body{ font: 80% "Trebuchet MS", sans-serif; margin: 50px;}
.demoHeaders { margin-top: 2em; }
#dialog_link {padding: .4em 1em .4em 20px;text-decoration: none;position: relative;}
#dialog_link span.ui-icon {margin: 0 5px 0 0;position: absolute;left: .2em;top: 50%;margin-top: -8px;}
ul#icons {margin: 0; padding: 0;}
ul#icons li {margin: 2px; position: relative; padding: 4px 0; cursor: pointer; float: left; list-style: none;}
ul#icons span.ui-icon {float: left; margin: 0 4px;}
ul.test {list-style:none; line-height:30px;}
</style>
</head>
<body>
<h2><center>ปฏิทินการปฏิบัติงานการฝึกประสบการณ์วิชาชีพ</center></h2>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">เริ่มวันที่:</td>
<td><input type="text" name="start_date" id="datepicker-th-2" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">สิ้นสุดวันที่:</td>
<td><input type="text" name="end_date" id="datepicker-th" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right" valign="top">รายละเอียด:</td>
<td><textarea name="detail" cols="50" rows="5"></textarea></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right" valign="top">หมายเหตุ:</td>
<td><textarea name="note" cols="50" rows="5"></textarea></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><input type="submit" value="ส่งข้อมูล" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</body>
</html>
Tag : PHP
|
|
|
|
|
|
Date :
2012-10-01 14:56:08 |
By :
gosling |
View :
4625 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในปฏิทิน dateFormat: 'dd/mm/yy' ต้องเปลี่ยน dateFormat: 'ํyy/mm/dd'
แต่ในฐานข้อมูล sql date จะเก็บเป็น Y-m-d ครับ
หรือไมก็ณก็ต้อง แปลงก่อนครับ
$sdate = date('Y-m-d', strtotime($_POST["start_date"]));
|
ประวัติการแก้ไข 2012-10-01 16:47:06
|
|
|
|
Date :
2012-10-01 16:19:08 |
By :
compiak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแปลงดูแล้ว แต่ยังเหมือนเดิมค่ะ
|
|
|
|
|
Date :
2012-10-01 16:56:46 |
By :
gosling |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในฐานข้อมูล เก็บรูปแบบไรครับ
|
|
|
|
|
Date :
2012-10-01 18:22:37 |
By :
compiak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จะเก็บข้อมูลเป็นวันที่ใน db เป็นฟิลด์ต้องกำหนดชนิดเป็น date/time และการเก็บข้อมูลต้องเก็บเป็น ค.ศ. เท่านั้น จาก datepicker ที่ให้มามันมีการบวก 543 เข้าไป ถ้าจะเก็บก็ต้องแปลงกลับให้เป็นรูปแบบ yyyy/mm/dd และเป็น ค.ศ. เท่านั้น
|
|
|
|
|
Date :
2012-10-01 20:49:41 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะ เก็บเป็น date แปลงเป็น yy/mm/dd มันเก็บข้อมูลเป็น ค.ศ.ค่ะ ขอบคุณคุณ[font=Verdana]นายเปี๊ยก[/font] และคุณ[font=Verdana]apisitp[/font] มากๆค่ะ
|
|
|
|
|
Date :
2012-10-01 22:04:44 |
By :
gosling |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|