Jeg hiver en masse datoer ud fra en MSSQL database. Disse smider jeg så ud via $row
Jeg vil gerne i dato feltet, i den tabel jeg printer det hele ud i, kunne lave et tjek der tjekker om datoen er mere end en uge gammel = farven i feltet bliver gult, mere end 1 md gammel = farven bliver rød..
Feltet i databasen er af typen DATETIME (2008-07-31-16:15:29.527)
Håber nogen kan hjælpe da jeg lige er gået helt død....
Virker ikke lige, den skriver kun farven #FFFF00. Vedlægger lige kildekoden så folk bedre kan se.
// connection to the database $dbhandle = mssql_connect($myServer, $myUser, $myPass) or die("Couldn't connect to SQL Server on $myServer");
// select a database to work with $selected = mssql_select_db($myDB, $dbhandle) or die("Couldn't open database $myDB");
echo "You are connected to the " . $myDB . " database on the " . $myServer . ".";
$query="select dbo.t_reg_cases.id, user_id, addr_company, description, create_date, create_user, close_date from dbo.t_reg_cases , dbo.t_users where close_date IS NULL AND dbo.t_reg_cases.user_id = dbo.t_users.id ORDER BY create_date DESC"; $result=mssql_query($query);
while($row=mssql_fetch_assoc($result)) { // Sekunder på en uge $SEKuge = 604800+$row[create_date]; // Sekunder på en måned (31 dage) $SEKmaaned = 2678400+$row[create_date]; // Hvis ældre end en måned if ($SEKmaaned < time()) { $farve = "#FF0000"; } // Hvis ældre end en uge if ($SEKuge < time()) { $farve = "#FFFF00"; }
Smid denne funktion ind i toppen af koden: function getCasetimeColor($timestamp) { $timestamp = strtotime($timestamp); $difference = time() - $timestamp; $times[(60*60*24*31)] = "#FF0000"; //en måned $times[(60*60*24*7)] = "#FFFF00"; // en uge
Hov, ser først nu at du åbenbart gemmer dato som unixtimestamp ! Eller hvad ?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.