|
|
|
ทำไม อัพเดทข้อมูล ใน access ค่าไม่ตรงกับ ที่ update ไปคะ งงตั้งแต่เมื่อวานแล้ว ¬>¬< |
|
|
|
|
|
|
|
UPDATE COMMERCIAL_INV SET NET_DUE_DATE = '13/08/2010',DOC_DATE = '14/06/2010',OVERDUE=21 WHERE COMMERCIAL_INV = 4755030430;
ลอง echo sql มา แล้วได้อย่างนี้ค่ะ ถูกต้อง
แต่ไปดูข้อมูลจริงที่ access มันได้เป็นวันที่ อย่างอื่นคะ
โค้ดที่เขียนคะ
Code (PHP)
function DateDiff($TODAY,$NET_DUE_DATE){
$EX_NET_DUE_DATE_BLANK = explode(" ",$NET_DUE_DATE);
$EX_NET_DUE_DATE = explode("-",$EX_NET_DUE_DATE_BLANK[0]);
$aNET_DUE_DATE = array($EX_NET_DUE_DATE[0], $EX_NET_DUE_DATE[1], $EX_NET_DUE_DATE[2]);
$NET_DUE_DATE = implode("-", $aNET_DUE_DATE); //2009-07-31
$OVERDUE = (strtotime($NET_DUE_DATE)-strtotime($TODAY))/86400; // 1 day = 60*60*24
if($OVERDUE<0){
$OVERDUE = ceil(abs($OVERDUE));
$OVERDUE = intval("-$OVERDUE");
}
else{
$OVERDUE = ceil($OVERDUE);
$OVERDUE = intval("+$OVERDUE");
}
return $OVERDUE;
}
#Change DATE 2009-07-31 00:00:00 To 31/07/2009 Same DataType In ACCESS
function ChangeTypeDate($DATA_DATE){
$EX_DATE_BLANK = explode(" ",$DATA_DATE);
list($y, $m, $d) = explode('-', $EX_DATE_BLANK[0]);
$MK_DATE = mktime(0, 0, 0, $m, $d, $y);
$RESULT_cDATE = strftime('%d/%m/%Y',$MK_DATE);
return $RESULT_cDATE;
}
$sSql_select = "SELECT *
FROM COMMERCIAL_INV,DATE_SAP
WHERE COMMERCIAL_INV.COMMERCIAL_INV=DATE_SAP.COMMERCIAL_INV;";
$itemresult = odbc_exec($link,$sSql_select);
while($itemrow = odbc_fetch_array($itemresult)){
$COM_INV = $itemrow['COMMERCIAL_INV'];
$NET_DUE_DATE = $itemrow['NET_DUE_DATE'];
$DOC_DATE = $itemrow['DOC_DATE'];
$TODAY = date("Y-m-d");
echo "COM_INV : $COM_INV , NET_DUE_DATE : $NET_DUE_DATE , DOC_DATE : $DOC_DATE , TODAY : $TODAY <br/>";
//COM_INV : 4750028977 , NET_DUE_DATE : 2009-07-31 00:00:00 , DOC_DATE : 2009-07-31 00:00:00 , TODAY : 2010-07-23
$OVERDUE = DateDiff($TODAY,$NET_DUE_DATE); //-357
$NET_DUE_DATE = ChangeTypeDate($NET_DUE_DATE); //NET_DUE_DATE : 31/07/2009
$DOC_DATE = ChangeTypeDate($DOC_DATE); //DOC_DATE : 31/07/2009
$sSql_update = "UPDATE COMMERCIAL_INV
SET NET_DUE_DATE = '$NET_DUE_DATE',DOC_DATE = '$DOC_DATE',OVERDUE=$OVERDUE
WHERE COMMERCIAL_INV = $COM_INV;";
echo $sSql_update . "<br/><br/>";
if(@odbc_exec($link,$sSql_update)){
echo "update successful<BR/>";
}
else{
echo "update unsuccessful<BR/>";
}
}
echo "Update Finish.";
Tag : - - - -
|
|
|
|
|
|
Date :
2010-07-23 10:48:26 |
By :
อ้อน |
View :
947 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วคะ .. ไม่รู้ไปแก้ตรงไหนเหมือนกัน อยู่ก็ได้
ไม่เข้าใจ อารมณ์ มันเรยจิงๆ -*-
|
|
|
|
|
Date :
2010-07-23 11:03:45 |
By :
อ้อน |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|