2013-10-26 2 views
0

У меня возникли проблемы с расписанием событий. Я пытаюсь отобразить все события за указанный день, но он появляется только с одним. Я использую немного cms, которые кто-то еще закодировал. Я просто пытаюсь исправить страницу событий. Любая помощь, которую вы могли бы дать, была бы высоко оценена.Ошибка времени/даты PHP

Вот код:

<?php 

     for($i = 1; $i <= 7; $i++) { 

      $query = $db->query("SELECT * FROM events WHERE day = '{$i}'"); 
      $num = $db->num($query); 

      $events = array(); 

      $day = strtotime("november {$i} 2010"); 
      $day = date("l", $day); 

      while($array = $db->assoc($query)) { 

       $time = strtotime("{$time} on november {$i} 2010"); 

       $events[$time] = $array['id']; 

      } 


    ?> 

    <div class="wrapper"> 

     <div class="title"> 

      <?php 

       echo $day; 

      ?> 

     </div> 


     <?php 

      if($num != 0) { 

     ?> 

     <table width="100%" cellpadding="3" cellspacing="1"> 

       <tr style="background: #e9e9e9; font-weight: bold;"> 

        <td width="40%"> 
         Event Name 
        </td> 

        <td width="25%"> 
         Host 
        </td> 

        <td width="20%"> 
         Hotel 
        </td> 

        <td width="15%"> 
         Time 
        </td> 

       </tr> 

       <?php 

        foreach($events as $key => $value) { 

         $query2 = $db->query("SELECT * FROM events WHERE id = '{$value}'"); 
         $array2 = $db->assoc($query2); 

       ?> 

       <tr style="background: #f3f3f3;"> 

        <td width="40%"> 
         <?php 
          echo $array2['name']; 
         ?> 
        </td> 

        <td width="25%"> 
         <?php 
          echo $array2['host']; 
         ?> 
        </td> 

        <td width="20%"> 
         <?php 
          echo $array2['hotel']; 
         ?> 
        </td> 

        <td width="15%"> 
         <?php 
          echo $array2['time']; 
         ?> 
        </td> 

       </tr> 

      <?php 

       } 

      ?> 

      </table> 

      <?php 

       } else { 

        echo "<center>"; 
        echo "There are no events for today!"; 
        echo "</center>"; 

       } 

      ?> 

     </div> 

    <?php 
     } 

    ?> 

ответ

0

Вы подменяют $day переменной в каждом цикле и, следовательно, только последний будет показан. То же самое касается массива $events

+0

Я попытался удалить переопределение дня, и это просто породило мне ошибку. Я не PHP-гуру, поэтому мне труднее понять, в чем проблема, поэтому я разместил здесь. –

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