2013-12-19 98 views
-1

我已经反复尝试过,并遭受了一个限制。在这种情况下,我想为开始日期和结束日期创建一个事件触发器(插入)。因此,从输入的开始日期起,第二个日期将被输入,直到最后日期。您认为最有效的解决方法是什么?如何在日期开始和日期结束之间生成插入mysql?

start date: 2013-12-01 will be added 365 days, 
The second date : 2013-12-02, 
. 
. 
. 
., 
Date of last : 2014-01-01 
$sql = 'INSERT into cek_tgl (`tanggal`) VALUES ('.$date.')'; 
      for($i=1;$i<365;$i++) 
      $sql .= ',('.$date.')'; 

      $connection = Yii::app() -> db; 
      $command = $connection -> createCommand($sql); 
      $command -> execute(); 

感谢您的帮助

+2

呵呵?请澄清你的问题,展示例子。我假设你是指从开始到结束的日期范围,并填写中间值? – Jakub

+0

对不起,因为我的英语不好。我的目的就像是使用afterSave(),它包含一个自定义命令,将记录添加到包含数据第一日期,第二日期,第三日期到最后日期的表中。 – deib97

+0

请重写您的问题,以便清楚地说明您期望发生的情况,否则将被关闭。 –

回答

1

你需要写一个存储过程来做到这一点。触发器将不起作用,因为它不允许在触发器打开时将值插入到同一个表中。

创建一个存储过程,该参数在参数中使用开始日期,然后在内部进行365次插入。

+0

以前我从未做过商店程序。我在哪里写存储过程? – deib97

+0

这里是一个关于如何做的链接http://dev.mysql.com/doc/refman/5.6/en/create-procedure.html如果你以前从未使用过存储过程,那么你可能会更快乐,只需要进行365次调用从PHP到MySQL。 –

+0

谢谢安德烈亚斯。也许就像它:http://stackoverflow.com/questions/510012/get-a-list-of-dates-between-two-dates – deib97

相关问题