ステータスを表す数値で mySql 行を更新したいと思います。例えば :
1 = New
2 = Old
デフォルトでは、新しいデータが mySql に追加されたとき。ステータスは自動的に「1」に設定されます。そして、これがポイントです。1日が1週間(7日)以上の場合、自動で「2」に更新したいです。コードは次のとおりです。
<?php
$_toDay=date("Y-m-d");
.....
while($rec_gid=mysql_fetch_array($result_gid)){
$gid=$rec_gid['goods_id'];
$dateDB=$rec_gid['goods_date'];
$_diff = abs(strtotime($_toDay) - strtotime($dateDB));
$_years = floor($_diff / (365*60*60*24));
$_mon = floor(($_diff - $_years * 365*60*60*24) / (30*60*60*24));
$_days = floor(($_diff - $_years * 365*60*60*24 - $_mon*30*60*60*24)/ (60*60*24));
if($_days>7){//if older than a week then change status
$sql_updStts="update goods_db set stts='2' where id='$_gid'";
$result_updStts=mysql_db_query($dbname,$sql_updStts);
}//close while
?>
このスクリプトを試してみましたが、結果は期待どおりではありません。$_days でさえ 1 週間以上です。mySql は更新されません。どうしてか分かりません。何か案が?