1

我在 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”是“日期”类型,“submit_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

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

4

1 回答 1

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 小提琴

于 2013-02-13T00:49:19.677 回答