2016-04-11 5 views
1

Ich fand zahlreiche Antworten, aber keine schien für mich zu arbeiten. Ich habe den folgenden Code geschrieben und ich weiß, dass es die richtige Farbe annimmt, aber die Td-Zelle für die gesamte Tabelle wird auf die Farbe der ersten zurückgegebenen Nummer festgelegt. Ich brauche es, um die verschiedenen Zahlen wiederzugeben, die zurückgegeben werden könnten. Ich habe versucht, den Wert von $ backcolor = "" am Ende jeder Zeileniteration zu setzen, aber ich kann einfach nicht den richtigen Platz dafür finden (oder wenn es überhaupt möglich ist). Hier ist, was ich geschrieben habeÄnderung td bgcolor basierend auf Ergebnis zurückgegeben

while ($row = $result->fetch_assoc()) 
{ 
    // $backcolor1="" ; 

    if ($row["riskPostProbRate"]== '1') { $backcolor1="green"; } 
    elseif ($row["riskPostProbRate"]== '2'){ $backcolor1="green"; } 
    elseif ($row["riskPostProbRate"]== '3'){ $backcolor1="yellow"; } 
    elseif ($row["riskPostProbRate"]== '4'){ $backcolor1="orange"; } 
    elseif ($row["riskPostProbRate"]== '5'){ $backcolor1="red"; } 

    echo '<tr class="$altrowcolor"><td>' . $row["riskId"]. '</td><td>' 
     . $row["riskName"] . '</td><td >' . $row["riskDesc"] . '</td><td>' 
     . $row["riskArea"] . '</td><td>' . $row["riskHeadline"] . '</td><td>' 
     . $row["riskPreConCons"]. '</td><td bgcolor=>' . $row["riskPreConProb"] . '</td><td>' 
     . $row["riskPreRate"]. '</td><td>' . $row["riskPreLevel"] . '</td><td>' 
     . $row["riskRACPrevCons"] . '</td><td>' . $row["riskRACMitaCons"].'</td><td>' 
     . $row["riskPostConsRate"] . '</td><td bgcolor=$backcolor1>' 
     . $row["riskPostProbRate"] .'</td><td bgcolor=>' . $row["riskPostRate"]. '</td><td>' 
     . $row["riskPostLevel"]. '</td><td></td></tr>'; 
} 
+0

verwenden Sie Wie diese von bgcolor Eigenschaft –

+0

geben Sie mir, was Sie bekommen in $ result-> fetch_assoc() – Monty

+0

@adrian Überprüfen Sie meine Antwort. Oder Sie können einen anderen Ansatz verwenden. – Monty

Antwort

0

Try this: Verwenden Sie die richtige Art und Weise: Wie Hintergrundfarbe auf td.

Ersetzen Sie Ihre bgcolor mit folgenden Code:

Modifiziert:

style = background-color: $ BackColor1

+0

Ich tauschte es aus und bekomme folgendes: ass error: Syntaxfehler, unerwarteter '' (T_ENCAPSED_AND_WHITESPACE), erwarte Bezeichner (T_STRING) oder Variable (T_VARIABLE) oder Nummer (T_NUM_STRING) –

+0

eine Sache: Gib mir Array, was Sie in diesem erhalten: $ Ergebnis-> fetch_assoc(); Ich werde Ihnen genaue Antwort geben. – Monty

+0

Dies ist die Seite, die die Abfrage gibt http: // hama. com.au/mi6/displayra.php ist das, wonach du suchst.Das benutzt meinen alten Code nicht deinen neuen Code –

1

, wenn Sie es in PHP tun, möchte ich vorschlagen, eine Klasse in CSS für jede Farbe zu erzeugen, als die Klasse der Farbe einstellen Sie benötigen.

Beispiel css

.red{ 
background-color:red; 
} 
.green{ 
background-color:green; 
} 

php

while($row = $result->fetch_assoc()) { 
    // $backcolor1="" ; 

    if ($row["riskPostProbRate"]== '1' ){ 
     $backcolor1="green"; 
    }elseif($row["riskPostProbRate"]== '2' ){ 
     $backcolor1="green"; 
    }elseif ($row["riskPostProbRate"]== '5' ){ 
     $backcolor1="red"; 
    } 

echo '<tr class="$altrowcolor"><td class="'.$backcolor1.'">' . $row["riskId"]. '</td><td>' .  $row["riskName"]. '</td></tr>'; 
} 

i setzen die Klasse in dieser td beacuse die Zeile zu lang ist, aber Sie können die Klasse einfügen, wo immer Sie

1

Bitte verwenden möchten, die folgendes Beispiel. Dieses Beispiel für den Wandel sollte die Farbe in ungeraden geraden Reihen

$i=0; 
while($row = $result->fetch_assoc()) { 
$i++; 
$bgcolor=($i%2==0)?'green':'yellow'; 
echo '<tr bgcolor="<?php echo $bgcolor;?>"><td></td></tr>'; 
} 
2

diese

arbeiten
<table> 
<tbody> 
    <?php 
    while ($row = $result->fetch_assoc()) { 
     $backcolor1 = ""; 

     if ($row["riskPostProbRate"] == '1') { 
      $backcolor1 = "green"; 
     } elseif ($row["riskPostProbRate"] == '2') { 
      $backcolor1 = "green"; 
     } elseif ($row["riskPostProbRate"] == '3') { 
      $backcolor1 = "yellow"; 
     } elseif ($row["riskPostProbRate"] == '4') { 
      $backcolor1 = "orange"; 
     } elseif ($row["riskPostProbRate"] == '5') { 
      $backcolor1 = "red"; 
     } 
     ?> 
     <tr class="<?= $altrowcolor ?>"> 
      <td><?= $row["riskId"]; ?></td> 
      <td><?= $row["riskName"] ?></td> 
      <td><?= $row["riskDesc"] ?></td> 
      <td><?= $row["riskArea"] ?></td> 
      <td><?= $row["riskHeadline"] ?></td> 
      <td><?= $row["riskPreConCons"] ?></td> 
      <td bgcolor=""><?= $row["riskPreConProb"] ?></td> 
      <td><?= $row["riskPreRate"] ?></td> 
      <td><?= $row["riskPreLevel"] ?></td> 
      <td><?= $row["riskRACPrevCons"] ?></td> 
      <td><?= $row["riskRACMitaCons"] ?></td> 
      <td><?= $row["riskPostConsRate"] ?></td> 
      <td bgcolor="<?= $backcolor1 ?>"><?= $row["riskPostProbRate"] ?></td> 
      <td bgcolor=""><?= $row["riskPostRate"] ?></td> 
      <td><?= $row["riskPostLevel"] ?></td> 
      <td></td> 
     </tr> 
     <?php 
    } 
    ?> 
</tbody> 

0

Um zu Monty Antwort hinzuzufügen, und es verständlicher, warum zu machen Der Wechsel von einfachen zu doppelten Anführungszeichen finden Sie unter this answer, in dem die Auswirkungen der Verwendung einfacher oder doppelter Anführungszeichen genau erläutert werden.

Verwandte Themen