2016-10-26 21 views
0

time2が時間1より大きい場合は、背景色の変更を赤色にします。 私はこれで全然ノーブだし、今は数日間試してみましたが、うまく動作しませんでした。 CSSで は、私はあなたがどこでも$ bgredをエコーされていません.bgred {background: red;}PHPのif文で背景色を変更する

<?php 
$sql = ("SELECT name, time1, time2 FROM myTable WHERE dates LIKE '".$_POST['dat']."' "); 
$result = mysqli_query($conn, $sql);   

if (mysqli_num_rows($result) > 0) {  

    echo "<table action='' method='POST'><tr> 
    <th>Name</th> 
    <th>Time1</th> 
    <th>Time2</th></tr>"; 

    // output data of each row 
    while($row = mysqli_fetch_assoc($result)) { 

     $var1 = $row["time1"]; 
     $var2 = $row["time2"]; 
     if($var2 < $var1) { 
      $bgred = 'class="bgred"'; 
     } else { 
      $bgred = ''; 
     } 

     echo "<tr><td>".$row["name"]."</td> 
     <td>".$row["time1"]."</td> 
     <td class="$bgred">".$row["time2"]."</td></tr>"; 
     } 
    } 

    echo "</table>"; 

mysqli_close($conn); 
?> 
+0

http://stackoverflow.com/a/39444025/3558278 – Deep

答えて

0
$bgred = null; 
$rows = null; 

while($row = mysqli_fetch_assoc($result)) {  


    $var1 = $row["time1"]; 
    $var2 = $row["time2"]; 
    if($var2 < $var1) { 
     $bgred = 'class="bgred"';  
    } else { 
     $bgred = ''; 
    } 

    $rows .= '<tr> 
        <td>' . $row["name"] . '</td> 
        <td>' . $row["time1"] . '</td> 
        <td>' . $row["time2"] . '</td> 
      </tr>'; 
} 

echo '<table action="" method="POST"> 
     <tr> 
      <th>Name</th> 
      <th>Time1</th> 
      <th class="' . $bgred . '">Time2</th> 
     </tr> 
     ' . $rows . ' 
    </table>'; 

あなたは二重引用符を使用する理由はありますか?

1

を持っています。

<?php 
$sql = ("SELECT name, time1, time2 FROM myTable WHERE dates LIKE '".$_POST['dat']."' "); 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 

echo "<table action='' method='POST'><tr> 
<th>Name</th> 
<th>Time1</th> 
<th>Time2</th></tr>"; 

// output data of each row 
while($row = mysqli_fetch_assoc($result)) {  


    $var1 = $row["time1"]; 
    $var2 = $row["time2"]; 

//edited here 
    if(strtotime($var2) < strtotime($var1)) { 
     $bgred = 'bgred'; 
//done with edit  
    } else { 
     $bgred = ''; 
    } 

    echo "<tr><td class='$bgred'>".$row["name"]."</td> 
    <td class='$bgred'>".$row["time1"]."</td> 
    <td class='$bgred'>".$row["time2"]."</td></tr>";  
    }  
}  

echo "</table>"; 
mysqli_close($conn); ?> 
+0

私の投稿を編集しました。私は "$ row [" time2 "]を持っています。" "; しかし、まだ動作していません –

+0

あなたがソースを表示する場合、正しいものはclass = bgredですか?またCSSで試してみてくださいbackground-color:red; – Chris

+0

また、どのタイプのフィールドがデータベースにありますか?timestamp、日付など?編集前のunix時間に変換する編集された答え – Chris