2010-05-04 2 views
1

Это код содержит несколько частей. Первая часть - создание светильников.Непрерывный цикл времени

$totalRounds = $teams - 1; 
    $matchesPerRound = $teams/2; 
    $rounds = array(); 
    $roundDates = array(); 
    $curTime = time(); 

    for ($i = 0; $i < $totalRounds; $i++) { 
     $rounds[$i] = array(); 
     $numDays = $i * 4; 
     $roundDates[$i] = strtotime("+".$numDays." days",$curTime); 

    } 

    foreach($roundDates as $time) { 
     for ($round = 0; $round < $totalRounds; $round++) { 
      for ($match = 0; $match < $matchesPerRound; $match++) { 
       $home = ($round + $match) % ($teams - 1); 
       $away = ($teams - 1 - $match + $round) % ($teams - 1); 
       // Last team stays in the same place while the others 
       // rotate around it. 
       if ($match == 0) { 
        $away = $teams - 1; 
       } 

       $rounds[$round][$match] = "$user[$home]~$team[$home]@$user[$away]~$team[$away]~$time"; 
      } 
     } 
    } 

В приведенном выше коде время составлено для каждого раунда светильников. В конце кода я добавил $ time.

 for ($i = 0; $i < count($rounds); $i++) 
    { 
     foreach ($rounds[$i] as $r) 
     { 
      $seperateUsers = explode("@",$r); 
      $homeinfo = $seperateUsers[0]; 
      $awayinfo = $seperateUsers[1]; 
      $homedetails = explode("~",$homeinfo); 
      $awaydetails = explode("~",$awayinfo); 
      $database->addFixtures($homedetails[0], $homedetails[1], $awaydetails[0], $awaydetails[1], $awaydetails[2]); 
     } 
    } 

Этот фрагмент кода использует разрывы кода сверху, чтобы положить в таблицу. По какой-то причине дата, которая вводится в базу данных, выдается 0000-00-00 00:00:00.

Есть ли что-нибудь, что можно увидеть, чтобы исправить это?

Редактировать: цикл не работает? Я пропустил что-нибудь на самом цикле?

ответ

1

Звучит как $ homedetails [0] и т. Д. Не установлены. Вы можете использовать отладчик для проверки этих значений перед вызовом addFixtures() или изучить их, добавив простые операторы echo или var_dump() непосредственно перед вызовом.

+0

Все попадает в базу данных, кроме $ awaydetails [2]. Это поле в базе данных установлено как дата и время. Я предполагаю, что это может быть не то, что нужно? В каком формате моя дата в приведенном выше коде входит в базу данных? – sark9012

+0

В этом формате '0000-00-00 00: 00: 00'. Это 'YYYY-MM-DD HH: mm: ss'. strtotime() приводит к нескольким секундам с момента «unix epoch». Используйте функцию 'date()' PHP, чтобы поместить ее в форму выше. Я считаю, что «дата (« Y-m-d H: i: s », $ time) должна работать. –

Смежные вопросы