- Home
- Categorie
- Coding e Sistemistica
- PHP
- Colorare i div in base ad una scadenza
-
Colorare i div in base ad una scadenza
Ciao !
avrei bisogno di colorare i div in base all'avvicinarsi di una data prefissata rispetto alla data attuale.es.
div verde se alla data mancano più di 30 giorni
div giallo se alla data mancano da 30 a 0 giorni
div rosso se la data è stata superata.i valori date li ho impostati su db Mysql e messi su tabella come da codice allegato:
<?php include("../models/config.php"); $result = mysql_query("SELECT * FROM Liste, Users ORDER BY dataclose DESC ") or die(mysql_error()); echo "<table class=\"table table-striped\">"; echo "<thead> <th>ID</th> <th>Aperta</th> <th>Data apertura</th> <th>Data chiusura</th> <th></th> </thead>"; while($row = mysql_fetch_array( $result )) { echo "<tr>"; echo '<td>' . $row['id'] . '</td>'; $d=$row['apertura'] ; if ($d=="no") echo '<td>Lista Chiusa</td>'; else echo '<td>Lista Aperta</td>'; echo '<td>' . $row['dataopen'] . '</td>'; echo '<td>' . $row['dataclose'] . '</td>'; if ($d=="no") echo '<td><p>La lista è chiusa</p></td>'; else echo '<td><a href="nuova.php?id=' . $row['id'] . '&User_ID=' . $row['User_ID'] . '" class="btn btn-primary">Ordina Ora !</a></td>'; echo "</tr>"; } echo "</table>"; ?>
Un aiutino ?
Grazie !
-
potresti creare delle class nel css diverse per ogni colore, recuperare la data dal database, e dare la giusta class al div che devi colorare, oaddirittura mettere il colore dichiarandolo direttamente nella pagina a seconda della data
tipo ```<div style "background-color:#FFF;"></div>
-
Ciao !
grazie della risposta.
ho scritto questo codice che però mi vale per un confronto per volta...php:
<? $sql = "SELECT dataclose FROM Liste"; $result = mysql_query($sql); if (!$result) { echo "Could not successfully run query ($sql) from DB: " . mysql_error(); exit; } $row = mysql_fetch_assoc($result); $sMySqlDate = $row['dataclose']; mysql_free_result($result); $iNow = time(); $iDeadline = strtotime($sMySqlDate); $iAfter = strtotime('+30 day', $iDeadline); $iBefore = strtotime('-30 days', $iDeadline); $sClass = ($iNow >= $iAfter ? 'after' : ($iNow < $iBefore ? 'before' : 'current')); echo '<div class="' . $sClass . '">blablabla</div>'; ?>
Questo il css:
<style>.before { color: #00ff00; } .current { color: #0000ff; } .after { color: #FF0000; } </style>
come posso adattarlo per inserirlo nel codice che ho postato nel primo messaggio ?
ovvero vorrei che nella tabella che mi mostra tutte le liste mi colori di rosso quelle scadute, in verde quelle valide e in giallo quelle che scadono tra 30 giorni...
-
Ma tu vuoi colorare lo sfondo dei div o i caratteri?
Perchè il css che hai preparato colora i caratteri... TUTTI i caratteri nel div...