login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Datum En Tijd

Offline Nation - 27/10/2007 16:35 (laatste wijziging 27/10/2007 16:35)
Avatar van NationPHP interesse ik heb nu een database, daar zit een veld datumtijd deze is datetime,

als ik nu wil kijken of het 24u verder is, dan mag er iets gebeuren, hoe kan ik dit dan doen dmv een query,

ik heb nu:
  1. mysql_query("SELECT * FROM book_bannersclick WHERE banner_id='".$_GET['banner']."' AND ip='".$_SERVER['REMOTE_ADDR']."'");

En daar moet dus nog achter komen "AND datumtijd < 24u geleden"

Maar ik weet niet hoe ik dit kan doen,
iemand een oplossing aub?

Alvast bedankt

5 antwoorden

Gesponsorde links
Offline ranco - 27/10/2007 19:19
Avatar van ranco PHP gevorderde Gewoon met php date() de huidige datum pakken. Hier 23uur en 59 minuten vanaf halen. En dan een query maken wat gaat als: where datum >= 24uurgeleden.
Offline Nation - 28/10/2007 11:34
Avatar van Nation PHP interesse heb iets geprobeerd, maar dit loopt helemaal mis.
Iemand die ziet wat ik verkeerd doe?

  1. $res = mysql_query("SELECT * FROM book_bannersclick LIMIT 1");
  2. while ($obj = mysql_fetch_object($res)) {
  3. $datum1 = $obj->datumtijd;
  4. $datum1 = strtotime($datum1);
  5. $datum2 = strtotime(date("Y-m-d")." ".date("G:i:s"));
  6. $temp = $datum1 - $datum2;
  7.  
  8. echo date('d',$temp).' Dagen ';
  9. echo date('m',$temp).' Maand ';
  10. echo date('Y',$temp).' Jaar ';
  11. echo date('G',$temp).' uren ';
  12. echo date('i',$temp).' minuten ';
  13. echo date('s',$temp).' seconden verschil ';


ik krijg als output: 31 Dagen 12 Maand 1969 Jaar 5 uren 08 minuten 45 seconden verschil
Offline bigsmoke - 28/10/2007 11:44 (laatste wijziging 28/10/2007 11:45)
Avatar van bigsmoke PHP interesse Ik zit met eenzelfde soort probleem, ik wil dat als een bezoeker een maand selecteerd bepaalde zaken worden getoond. Mijn veld in mysql bevat een time(); waarde. Als ik een oplossing vind laat ik het je weten.

EDIT: http://www.sitemasters.be/tutorials/6/1/469/MySQL/Datum_en_tijd_in_MySQL_deel_1
Offline Nation - 28/10/2007 11:55
Avatar van Nation PHP interesse dankje, maar het lukt me nog niet:
nu heb ik
  1. $res = mysql_query("SELECT datumtijd, DATE_FORMAT(datumtijd, '%d-%m-%Y %H:%i:%s') AS datumtijd2 FROM book_bannersclick");
  2. while ($obj = mysql_fetch_object($res)) {
  3. $datum = $obj->datumtijd2;
  4. echo $datum."<br>";
  5. echo date("d-m-Y G:i:s")."<br>";
  6. $temp = $datum-date("d-m-Y G:i:s");
  7.  
  8. echo date('d',$temp).' Dagen ';
  9. echo date('m',$temp).' Maand ';
  10. echo date('Y',$temp).' Jaar ';
  11. echo date('G',$temp).' uren ';
  12. echo date('i',$temp).' minuten ';
  13. echo date('s',$temp).' seconden verschil <br><br>';
  14. }


output:
Citaat:
27-10-2007 16:44:57
28-10-2007 11:57:18
01 Dagen 01 Maand 1970 Jaar 0 uren 59 minuten 59 seconden verschil

28-10-2007 03:52:37
28-10-2007 11:57:18
01 Dagen 01 Maand 1970 Jaar 1 uren 00 minuten 00 seconden verschil

28-10-2007 11:11:29
28-10-2007 11:57:18
01 Dagen 01 Maand 1970 Jaar 1 uren 00 minuten 00 seconden verschil
Offline Koen - 28/10/2007 12:46
Avatar van Koen PHP expert regel zes:
  1. $temp =time()-strtotime($datum);

Bij date moet je een timestamp gebruiken bij de tweede parameter!
PHP.net: date
PHP.net: time
PHP.net: strtotime
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s