2012-05-08 1 views
0

現在、PHPの現在の日付関数に日数を追加しようとしていますが、どういうことか分かりません。以下は私のコード..ですPHPのCURDATE()関数で日を加算する

function due(){ 
    $it=$_POST['item_name']; 
    $ab="select duration from item where item_name='$it'"; 
    $cd=mysql_query($ab); 

    while($mn=mysql_fetch_array($cd)) { 
     $interval=$_POST['duration']; 
     $due='DATE_ADD(CURDATE(),INTERVAL'.$interval.'DAYS)'; 

     $gh=$_POST['request_name']; 
     $ij=$_POST['requestid']; 
     $ef="insert into request (due_date) values ('$due') where request_name='$gh' && requestid='$ij'"; 
     $kl=mysql_query($ef); 
    } 
} 

DURATIONは、私は私の質問、さらに

期間が挿入され手の込んだます *私は、現在の日付

に追加したい日数です表(TBL_A) CURDATE()値が別のテーブル(TBL_B)

に挿入されている私はDUE_DATEとして)(DURATIONを選択し、CURDATEに追加するDUE FUNCTION()を使用します3210 DUE_DATEは

DURATIONは、MySQLリファレンスウェブサイトからあなたがDATE_ADD(CURDATE(), INTERVAL X DAY)(ない日)を使用

DUE_DATEが別のプログラム

+0

「DAYS」ではなく「DAY」を試しましたか? 'INTERVAL'の後で' DAYS'の前に空白を忘れました。 mysqlエラーを投稿してください。 'echo mysql_error();' – arminb

+0

これはSQLインジェクション攻撃に対しても脆弱です。 – Daedalus

+0

私はDAYSをDAYに変更し、INTERVALの前に空白を追加しました。エラーは表示されません。 'die($ ef).mysql_error()'の結果IDは0000-00-00 – ayou

答えて

0

で選択されているTBL_AにITEM_NAMEに

*を変化さTBL_Bに挿入されています。ドキュメントをチェック!あなたたいが、それはPHPを使用して行う場合

0

は、最も簡単な方法は、mktime関数

はmktime([int型の$時間=日付( "H")を[、int型$分=日付( "I")[使用することです、 int $ year = "date" "(int"); int $ day = "date" "int $ day =" date " (Ymd)、mktime(0,0,0、date( 'm')、date( 'j')+ $)のようになります。必要な日数)、日付( 'Y'))。

関連する問題