PDA

View Full Version : [PHP] colorare riga se un campo contiene un determinato valore


Traxsung
06-11-2015, 15:13
Vorrei poter far si che quando il campo "stato" di una riga contiene la parola "completato", questa sia colorata di colore giallo (intera riga).

ecco il mio codice:


<?php
include 'database.php';
$pdo = Database::connect();
$sql = 'SELECT * FROM tabella ORDER BY id DESC';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['id'] . '</td>';
echo '<td>'. $row['data'] . '</td>';
echo '<td>'. $row['nome'] . '</td>';
echo '<td>'. $row['marca'] . '</td>';
echo '<td>'. $row['stato'] . '</td>';
echo '<td width=250>';
echo '<a class="btn" href="read.php?id='.$row['id'].'">Vedi</a>';
echo '&nbsp;';
echo '<a class="btn btn-success" href="update.php?id='.$row['id'].'">Modifica</a>';
echo '&nbsp;';
echo '<a class="btn btn-danger" href="delete.php?id='.$row['id_cliente'].'">Cancella</a>';
echo '</td>';
echo '</tr>';
}


Mi aiutate a modificare lo script ?

Daniels118
06-11-2015, 20:21
Se il valore del campo è esattamente "completato" farei così:
echo '<tr class="XXX', $row['stato'], '">';
Se invece il campo può contenere più parole devi fare una ricerca nella stringa:
$classe = strpos($row['stato'], 'completato') === false ? '' : 'XXXcompletato';
echo '<tr class="', $classe, '">';
Poi definirei una classe CSS così:
tr.XXXcompletato td {
background-color: yellow;
}

Traxsung
06-11-2015, 21:41
Daniels118 intanto grazie per la risposta.
Potresti aiutarmi ad inserirlo nella porzione di script che ho inserito?
Io ho provato, ma ottengo pagina bianca :cry:

Daniels118
07-11-2015, 09:02
Devi sostituire la riga "echo '<tr>';" con il codice php (devi scegliere tu quale in base a quanto ho scritto), mentre il codice css va messo in un foglio di stile oppure inline, puoi trovare diversi esempi qui:
http://www.w3schools.com/html/html_css.asp