mysql如何在循环中的个月重复?

标签: MySQL PHP
发布时间: 2015/6/11 20:52:32
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要像如果用户选择了 3 月,然后我需要插入记录为 12 个月从 3 月到二月数据库中插入动态的几个月。我得到动态的几个月,但当我试图将它插入到数据库时它插入只首 12 个月。我需要重复循环,再从 3 月至 2 月,如果用户单击添加更多按钮。这是我的代码:

$months = array();
$date="august";
$year= '2014';
//$y= (int)$year;
$currentMonth= date('m', strtotime($date));
$currentyear= date('Y', strtotime('+1 year'));
for($x = $currentMonth; $x < $currentMonth+12; $x++) 
{ 
    $months[] = date('F Y', mktime(0, 0, $currentyear, $x,1));
}
//print_r($months);
for($i=0; $i<=23 ; $i++)
{

 echo $insert= "insert into month(month_name) values('".$months[$i]."')";

}

解决方法 1:

你个月数组仅有 12 的值,你不能去到该数组中的值 23。你能做什么是贯穿数组两次从 0 到 11,像这样:

for($j=0; $j<2 ; $j++)
{
  for($i=0; $i<12 ; $i++)
  {
    echo $insert= "insert into month(month_name) values('".$months[$i]."')";
  }
}

或者正如克莱德指出您可以使用取模运算符,这不会让你浪费 2 环路,因而更快:

  for($i=0; $i<24 ; $i++)
  {
    echo $insert= "insert into month(month_name) values('".$months[$i % 12]."')";
  }
官方微信
官方QQ群
31647020