login  Naam:   Wachtwoord: 
Registreer je!
 Forum

2 datums gelijk aan elkaar (Opgelost)

Offline pim1991 - 14/06/2008 14:47 (laatste wijziging 14/06/2008 14:48)
Avatar van pim1991PHP interesse Halo,

Ik heb de volgende code:
  1. if(date("d-m-Y", $row['factuurdatum']) = date()-7){
  2. code
  3. }


Dit gebruik ik om een herrinering te versturen wanneer deze nog niet betaald heeft in 7 dagen.
Het probleem is dat date()-7 niet goed is lijkt mij, maar ik heb al vanalles geprobeerd omdat wanneer de factuur op 29-05-2008 is aangemaakt moet hij wel op 5-06-2008 herrinert worden en dat deed hij eerst niet.

Hoe krijg ik nu dat hij bovenstaande uitleg goed uitvoerd?

De tijd in de DB staat bijvoorbeeld zo erin: 1212012000

Ik hoop dat iemand mij op weg kan helpen of iemand mij het juiste stukje code kan geven.

Alvast bedankt!

Gr

Pim

6 antwoorden

Gesponsorde links
Offline XenoX - 14/06/2008 15:05 (laatste wijziging 14/06/2008 15:06)
Avatar van XenoX Gouden medailleGouden medaille

PHP expert
  1. if($row['factuurdatum'] <= strtotime('-7 days')) {
Offline Wim - 14/06/2008 15:18
Avatar van Wim Crew algemeen anders ben je met PHP.net: time ook nog wel wat!
Offline Godlord - 14/06/2008 15:26 (laatste wijziging 14/06/2008 15:26)
Avatar van Godlord PHP gevorderde
Citaat:
De tijd in de DB staat bijvoorbeeld zo erin: 1212012000


Je kan beter met MySQL DATETIME, DATE, TIME, TIMESTAMP, etc. werken.

Stel je gebruikt DATETIME dan kan je gewoon de volgende query toepassen.

  1. $qFacturen = mysql_query("SELECT * FROM facturen WHERE DATEDIFF(datum, NOW()) >= 7 AND username = '".$username."'") or die(mysql_error());
  2. if (mysql_num_rows($qFacturen) > 0) {
  3. echo 'Gozer gaat gij uw rekening(en) nog betalen of hoe zit da?';
  4. } else {
  5. echo 'Al je rekeningen zijn betaald.';
  6. }
Offline pim1991 - 15/06/2008 14:15
Avatar van pim1991 PHP interesse Hij neemt nu maar 1 enkele regel uit de db.
Dit is de While code:

  1. $res = mysql_query("SELECT * FROM facturen WHERE betaald = 'nee'") or die(mysql_error());
  2. if($teller=mysql_num_rows($res) > 0){
  3. while($row = mysql_fetch_assoc($res)){


Er zitten 2 facturen in die gelijk aan elkaar zijn (met datum en betaald staat op nee). Hij neemt alleen de eerste en heb de code al 2x herbekeken maar kan de fout niet vinden helaas.
Offline Godlord - 15/06/2008 15:09
Avatar van Godlord PHP gevorderde
Citaat:
$res = mysql_query("SELECT * FROM facturen WHERE betaald = 'nee'") or die(mysql_error());

Gebruik TINYINT(1) i.pv. TEXT of VARCHAR: 0 is nee of niet waar, 1 is ja of waar in dat geval, gebruikt minder ruimte.

En je kan beter je while-lus laten zien want met dat stuk code alleen kunnen we weinig vaststellen.
Offline pim1991 - 15/06/2008 15:32 (laatste wijziging 16/06/2008 07:53)
Avatar van pim1991 PHP interesse Hele script:
http://plaatscode.be/10731/

Dit script is voor een bedrijf dus er zit de bedrijfsnaam piwi-web in. Daar gewoon even niet op letten 

ziet iemand de fout of ligt het aan de database?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.204s