Hoi, ik ben een beginner op php gebied en zit met een vraagje. Ik weet niet of dit mogelijk is, heb al een beetje rondgekeken op de site, maar vind niet direct een antwoord. Hier komt ie:
In mijn datebase zit een datum in YYYY-MM-DD formaat.
Er zit eveneens een status in de database (nieuwe dvd, oude dvd, vhs).
Ik lees alles uit, tot hier geen probleem.
Nu zou ik graag de status na 20 dagen veranderd zien bij 'nieuwe dvd' naar geen status. Dit zou het eenvoudiger maken om na 20 dagen te zien wat nieuw is en wat niet nieuw is. De datum in mijn database zou ongewijzigd moeten blijven, het veranderen van 'status' zou dus bij het uitlezen moeten gebeuren.
Kan dit in PHP?? Ik heb de tut 'Datum en tijd in MySQL' al doornomen, maar geraak er niet uit
Mijn gegevens in de database moeten wel ongewijzigd blijven.
Ik zal dus ergens de huidige datum moeten zetten en die vergelijken met de datum in de database. Als daar 20 dagen verschil opzitten moet de status weg...
Ik geraak er niet uit
Onderstaand lijkt mij het meest voor de hand liggend, maar de functie van de datum die in mijn database zit + 20 dagen lukt niet.
Bij voorkeur in PHP en niet via een query.
Als de status "nieuw" is en de datum tussen datum in database + 20 dagen moet de status "nieuw" blijven staan. Anders niks.
Ik kan nu 2 datumwaardes uitlezen. De datum in de database (datum 1) en de datum uit de database + 20 dagen (datum 2)! Oef!
Nog één probleempje: nu zou ik de status willen weergeven enkel tussen datum 1 en tussen datum 2, nadien hoeft er geen status meer weergegeven te worden.
Ik heb dit geprobeerd via volgende code, maar zonder succes:
<?
include ("include/database.php");
$query = "SELECT *, (datum + INTERVAL 20 DAY) as 'datum_tot' FROM collectie ORDER BY `id` DESC";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
?>
Dan begin ik met het uitlezen uit de database.
Enkel: dit lukt niet:
<?
if ($row[datum] == BETWEEN $row[datum] AND $row[datum_tot]) echo "NIEUW" else echo "";
?>
<? } ?>
<?
include("include/database.php");
$query="SELECT *, (datum + INTERVAL 20 DAY) as 'datum_tot' FROM collectie ORDER BY `id` DESC";
<?
include ("include/database.php");
$query = "SELECT *, (datum + INTERVAL 20 DAY) as 'datum_tot' FROM collectie ORDER BY `id` DESC";
$result = mysql_query($query);
while ($row = mysql_fetch_assoc($result)) {
?>
Dan begin ik met het uitlezen uit de database.
Enkel: dit lukt niet:
<?
if ($row[datum] == BETWEEN $row[datum] AND $row[datum_tot]) echo "NIEUW" else echo "";
?>
<? } ?>
<?
include("include/database.php");
$query="SELECT *, (datum + INTERVAL 20 DAY) as 'datum_tot' FROM collectie ORDER BY `id` DESC";