如何计算从一个日期到另一个日期的长日期并使用CI插入数据库表

时间:2013-02-13 00:34:38

标签: php mysql codeigniter strtotime

MySQL中的我的表

我设计了“survei_pohon”表,并设置了我的'submit_date'列具有相同的值(默认值,例如:2013-02-28),这是我的下表:

id          survey_date           submit_date         long_day
 1           2013-02-18           2013-02-28             10
 2           2013-02-21           2013-02-28             10
 3           2013-02-25           2013-02-28             10   

“id”列是'整数'类型,“survey_date”是'date'类型,“submit_date”是'date'类型,“long_day”是'整数'类型。

这是我的模特: `

function olah(){
$tanggal_survei="SELECT survey_date FROM survei_pohon";
$tanggal_sekarang="SELECT submit_date FROM survei_pohon";
$lama_hari="SELECT long_day FROM survei_pohon";


    $result = @mysql_query($tanggal_survei);
    $t = mysql_fetch_array($result);

    $results = @mysql_query($tanggal_sekarang);
    $u = mysql_fetch_array($results);

    $lama_hari = @mysql_fetch_array($lama_hari);

    $start = strtotime($t['tanggal_survei']);
    $end = strtotime($u['tanggal_sekarang']);

    $lama_hari = ($end - $start) / (60 * 60 * 24);

    $this->db->set('long_day', $lama_hari);
    $this->db->update('survei_pohon');        
}

}>`

我对“survei_pohon”表的期望是

id          survey_date           submit_date        long_day
 1           2013-02-18           2013-02-28             10
 2           2013-02-21           2013-02-28              7
 3           2013-02-25           2013-02-28              3

我猜我的模型代码有问题。但我不知道如何修复该代码。我期待你的帮助。感谢您的帮助,这对我来说很难。

1 个答案:

答案 0 :(得分:0)

这是一个更新数据库的MySQL解决方案。

UPDATE survei_pohon SET long_day = submit_date - survey_date

不确定您是否确实需要存储该字段,因为它是对其他字段的计算 - 通常将这些字段留给UI用途。在这种情况下,您可以将它包含在SELECT语句中:

SELECT *, submit_date - survey_date long_day FROM survei_pohon

我知道这并没有解决如何使用您的代码,但似乎更容易。

这是SQL Fiddle