Php foreach日期

时间:2015-10-13 08:39:11

标签: php sql date foreach

我明白了:

<pre>
| Id  | Operation           | Name | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT    |      |       |       |     3 (100)|          |
|   1 |  FOR UPDATE         |      |       |       |            |          |
|   2 |   BUFFER SORT       |      |       |       |            |          |
|   3 |    TABLE ACCESS FULL| DD   |     4 |   160 |     3   (0)| 00:00:01 |
</pre>

让我解释一下会发生什么。 我有一个包含id,用户,名字,calender_week,start_week和end_week的数据库。

我基本上得到1到52之间的随机数

  

$ newcw = mt_rand(1,52);

它代表压延周。

下一行确实计算了我每个号码的那个星期的开始日(星期一)和结束日(星期日)。

接下来,我将新值插入并更新到我的数据库中。

现在什么行不通的是将foreach($result_set_cw_01 as $result_cw_01) { $newcw = mt_rand(1, 52); $week = $newcw; $year = date("Y"); $time = mktime(0,0,0,1,1,$year) + ($week * 7 * 24 * 60 * 60); $time = $time - ((date('N', $time) - 1) * 24 * 60 * 60); $startWeek = date('Y-d-M', $time); $endWeek = date('Y-d-M', $time + (6 * 24 * 60 * 60)); # Insert Random Calender Week $set = array( 'calender_week' => $week, 'start_week' => $startWeek, 'end_week' => $endWeek, ); $whereWeek = array('id = :id'); $valuesWeek = array('id' => $result_cw_01['id']); $db->update($table, $set, $whereWeek, $valuesWeek); } $startWeek更新到我的数据库中。

如果我回复$endweek,我会收到最后一位用户的日历周的$result_cw_01['calender_week']$startWeek

但如果我回复$endweek$startWeek,我会得到该特定日历周的正确日期,但它无法正确保存。

任何人都可以提供帮助。

我更改了更新以选择并回复它: $ db-&gt; update($ table,$ set,$ whereWeek,$ valuesWeek);

$ db-&gt; select($ table,$ set,$ whereWeek,$ valuesWeek);

$endWeek

1 个答案:

答案 0 :(得分:0)

因为你不应该使用格式&#39; Y-d-M&#39;但是&#39; Y-m-d&#39;