Kleur veranderen na bepaalde tijd

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans Spanje

Hans Spanje

09/01/2012 23:24:43
Quote Anchor link
Hallo allemaal,

Aangezien ik nogal een onwetend iemand ben op het gebied van sql een vraagje. Ik heb een formulier waar gegevens worden ingevuld en deze worden toegevoegd aan de database. Tot zover gaat het allemaal zoals gewenst. Nu wil ik graag dat na een bepaalde tijd dat de gegevens in een andere kleur worden weergegeven. Voorbeeld:

Iemand vult iets in over een klant. Als deze gegevens na bijv. een week nog niet zijn gewijzigd (er is dus geen contact geweest met die klant) moet dit een andere kleur worden (bijv. rood) zodat het goed opvalt als je een overzicht van alle zaken bekijkt.

Weet iemand van jullie hier een oplossing voor?

Alvast bedankt voor de hulp :)

Groeten uit Spanje,
Hans
 
PHP hulp

PHP hulp

29/01/2020 16:35:40
 
Eddy B

Eddy B

09/01/2012 23:26:31
Quote Anchor link
Bij aanmaak sla je de datum op in een database, en hij het selecten uit de database maak je een scriptje dat de huidige datum afweegt tegen de datum in de database.

PS: Zoek je nog een buurman?
 
- Jim  -

- Jim -

09/01/2012 23:29:16
Quote Anchor link
Hans,

zoals je al aangeeft '.. na een bepaalde tijd...', het je iets van een tijdsindicatie nodig. Waarschijnlijk wil op het moment dat het bericht gepost wordt, de datum/tijd van aanmaken meenemen ( mee opslaan).

Op het moment dat de lijst weer wordt opgevraagd, kunt je controleren met de huidige datum/tijd meer is dan de datum/tijd + 7 dagen. Als dat waar is maak je het rood, en anders ...??? ( een andere kleur... :p)
 
Hans Spanje

Hans Spanje

09/01/2012 23:30:48
Quote Anchor link
Hoi eddy,

Bedankt voor de snelle reactie :) Geweldig

Dus als ik het goed begrijp, op het moment dat ik gegevens uit de database ophaal kan ik de kleur veranderen met een script?

Nieuwe buren altijd welkom :)

Toevoeging op 09/01/2012 23:34:53:

Hoi Jim,

Ja, de datum van aanmaken wordt ook opgeslagen.

Nu heb ik geen idee waar of hoe ik dat zou moeten doen, :/

Ik denk dat het iets met deze regel te doen heeft:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo date('d/m/y', strtotime($call_date)); ?>
 
Aad B

Aad B

09/01/2012 23:36:19
Quote Anchor link
Hans Spanje op 09/01/2012 23:30:48:
Dus als ik het goed begrijp, op het moment dat ik gegevens uit de database ophaal kan ik de kleur veranderen met een script?
Inderdaad op basis van de leeftijd van de topic bepaal je de kleur en genereer je de html. Maar je doet dat in je SQL, dus bij het ophalen van de gegevens of wanneer de HTML uit een array gegenereerd wordt in php code met bijvoorbeeld een if constructie.
Gewijzigd op 09/01/2012 23:37:38 door Aad B
 
Eddy B

Eddy B

09/01/2012 23:37:25
Quote Anchor link
Die regel weergeeft de datum op het scherm ja.

Toevoeging op 09/01/2012 23:40:58:

Hans, kan je de code plaatsen die de gegevens laat zien op het scherm?
 
Hans Spanje

Hans Spanje

09/01/2012 23:42:03
Quote Anchor link
OK, ik denk dat jullie me wel een goed duwtje in de juiste richting hebben gegeven, ben al weer druk op google om iets te vinden.

Ga er even verder mee pielen, en ik laat hier even weten wat er van komt ;-)

Groeten,
Hans

Toevoeging op 09/01/2012 23:42:47:

Ik denk dat dit gedeelte het is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
                            if($row = mysql_fetch_array($results)){
                                do{
                                    $call_date = $row['call_date'];
                                    
                                    $department_id = $row['department_id'];
                                    $issue_id = $row['issue_id'];
                            
                                    $drow = mysql_fetch_array(mysql_query("select department_desc from departments where department_id = $department_id"));
                                    $irow = mysql_fetch_array(mysql_query("select issue_desc from issue_types where issue_id = $issue_id"));
                        ?>

<tr>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo date('d/m/y', strtotime($call_date)); ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['name']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['phone']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $drow['department_desc']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $irow['issue_desc']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['problem_desc']; ?>
</td>
 
Eddy B

Eddy B

09/01/2012 23:42:59
Quote Anchor link
Succes!:)
 
Hans Spanje

Hans Spanje

09/01/2012 23:46:24
Quote Anchor link
Oeps, sorry, dat is (nogal) een bende....

ff kijken of ik dit ook behoorlijk op scherm krijg:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?
if($row = mysql_fetch_array($results)){
do{
$call_date = $row['call_date'];

$department_id = $row['department_id'];
$issue_id = $row['issue_id'];
$drow = mysql_fetch_array(mysql_query("select department_desc from departments where department_id = $department_id"));
$irow = mysql_fetch_array(mysql_query("select issue_desc from issue_types where issue_id = $issue_id"));
?>

<tr>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo date('d/m/y', strtotime($call_date)); ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['name']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['phone']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $drow['department_desc']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $irow['issue_desc']; ?>
</td>
<td class="border1">
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $row['problem_desc']; ?>
</td>

Toevoeging op 09/01/2012 23:47:30:

Nou,

dat is nog steeds een bende, moet ik dit even verwijderen?
 
- Jim  -

- Jim -

09/01/2012 23:48:56
Quote Anchor link
Hans ik zou met de regel:
"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo date('d/m/y', strtotime($call_date)); ?>
" de html-class van de <tr> setten. (<tr class="...">..)
Daarmee voorkom je dat je het voor iedere cel gaat doen. (DRY)

(DRY, als je toch aan het google-en bent...)

Succes
Gewijzigd op 09/01/2012 23:49:29 door - Jim -
 
Bram Boos

Bram Boos

10/01/2012 00:40:43
Quote Anchor link
@Hans:

Als je de code tussen de [c0de] en [/c0de] tags doet dan komt het netjes in beeld :)

En dan natuurlijk de 0 vervangen voor een o...
Gewijzigd op 10/01/2012 00:41:27 door Bram Boos
 
Hans Spanje

Hans Spanje

10/01/2012 00:44:24
Quote Anchor link
Hoi Bram,

Bedankt :) Weer wat geleerd.

Ben nog steeds aan het worstelen trouwens, heb al een aantal dingen gevonden maar niets werkt :(

Ben nu hiermee aan het proberen, kunnen jullie me vertellen of dit de juiste weg is?

(en hier gaat ie Bram )

[/b]
$datePosted = strtotime($row["date"]);

$dateNow = time();

$howLongSince = $dateNow - $datePosted;

/*

60*60*24*7 = 1 week



60*60*24*7*2 = 2 weeks

*/
if ($howLongSince>60*60*24*7*2) // Older than 2 weeks

{

$color = "#D1180A";

} elseif ($howLongSince>60*60*24*7) // Older than 1 week, less than 2 weeks

{

$color = "#D1B30A";

}

else {
$color = "#08C90F";
}

echo "<font color=\"$color\">";



Toevoeging op 10/01/2012 00:55:15:

Ha ha,

Ik krijg het hiermee wel in een andere kleur maar de datum trekt zich er niets van aan.

Nu ik het ook bekijk klopt dat ook wel, hij doet gewoon een echo van de kleur voor m'n output zetten.

***

Nog even door zitten pielen en nu werkt het wel :)

Super, alleen 1 probleempje, nu kan ik niet slapen van de overwinningsroes, LOL

Mensen, hartelijk dank voor deze snelle en goede hulp!!

Groeten uit Spanje
 
Frank WD

Frank WD

10/01/2012 03:38:51
Quote Anchor link
@Hans,

Het is gebruikelijk dat na het oplossen van het probleem kort in word gegaan wat je hebt gedaan om het werkend te kijken. Zo hebben de overige en toekomstige forum leden er waarschijnlijk ook nog wat aan, mochten ze het zelfde probleem treven.

Bedankt al vast voor het delen.
 
Hans Spanje

Hans Spanje

10/01/2012 11:48:47
Quote Anchor link
Hoi,

De cde die ik gebruikt heb was OK, stond alleen op de verkeerde plaats, ik had het voor:

[/b]
$datePosted = strtotime($row["call_date"]);


Toen werd alles rood, nu na


$datePosted = strtotime($row["call_date"]);


en het werkt :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.