2015-09-08 4 views
0

Я пытаюсь разбить таблицу на основе времени в каждой строке. Например:Переключить имя класса в PHP

Blah - time 1 
Blah2 - time 1 
Blah3 - time 2 
Blah4 - time 3 
Blah5 - time 4 

мне нужно время 1, чтобы быть одного цвета (голубой, например) время 2, чтобы быть черный цвет, время 3, чтобы переключиться обратно синий цвет. Я пытаюсь переключить цвет, измененный в зависимости от того, когда время изменилось. Мой PHP до сих пор:

while($main_Row = $main_Results->fetch_assoc()){ 
     if($pickup_Time == $main_Row['pickup_Time']){ 
      $stripe = "blue"; 
     } 
     else{ 
      $stripe = "black"; 
      $pickup_Time = $main_Row['pickup_Time']; 
     } 

     echo '<tr class="'.$stripe.'">'; 
     echo '<td>Blah'.$i.'</td>'; 
     echo '<td>'.$main_Row['pickup_Time'].'</td>'; 
     echo '</tr>'; 
    } 

То, что я имею в настоящее время, не дает мне желаемых результатов. Я чувствую, что что-то упускаю, любая помощь будет очень признательна.

+0

Когда изменилось время на что? –

+0

@syedmohamed, когда он меняется в другое время, в моем примере, когда он изменяется от времени 1 к времени 2. –

+0

@ Мама, да, как только я разместил этот вопрос, я взял на это>.> С тех пор я изменил это, но все еще не получая то, что я хочу –

ответ

2
$pickup_Time = ""; 
$stripe = ""; 
while($main_Row = $main_Results->fetch_assoc()){ 
    if($pickup_Time != $main_Row['pickup_Time']){ 
     $stripe = $stripe == "blue" ? "black" : "blue"; 
    } 

    echo '<tr class="'.$stripe.'">'; 
    echo '<td>Blah'.$i.'</td>'; 
    echo '<td>'.$main_Row['pickup_Time'].'</td>'; 
    echo '</tr>'; 

    $pickup_Time = $main_Row['pickup_Time']; 
} 
+0

Красиво сделано. Кудос мат. Такая большая помощь! –

0

Быстро бросил что-то вместе, это немного подробный, но я хотел сделать общее намерение и процесс прозрачным.

Это будет полоса для каждой строки, для полосы в столбце вы добавите свои классы в td. Если вы хотите изменить количество полос перед повторением цикла, измените значение по модулю на любое количество, которое вы хотите.

<!doctype html> 
<html lang="en"> 
    <head> 
     <meta charset="UTF-8"> 
     <title>Document</title> 

     <style> 
      .red { 
       background-color: red; 
      } 

      .blue { 
       background-color: blue; 
      } 
     </style> 
    </head> 
    <body> 
     <?php 

     $mysqli = new mysqli('', '', '', ''); 

     $qry = "SELECT * FROM data"; 
     $result = $mysqli->query($qry); 

     $counter = 1; 

     echo "<table>"; 
     while ($row = $result->fetch_assoc()) { 

      $class = ""; 
      if($counter % 3 == 1) { 
       $class = "blue"; 
      } else if ($counter % 3 === 2) { 
       $class = "red"; 
      } 

      echo '<tr class="' . $class . '">'; 
      echo '<td>' . $row['id'] . '</td>'; 
      echo '<td>' . $row['id'] . '</td>'; 
      echo '<td>' . $row['id'] . '</td>'; 
      echo '</tr>'; 

      $counter += 1; 
     } 
     echo "</table>"; 

     $result->free(); 

     $mysqli->close(); 
     ?> 
    </body> 
</html> 
+0

Это приятный, общий ответ, который может применяться к любому, кто сталкивается с этим вопросом. Kudos mate :) –

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