Ik heb wat problemen met een mysql query.
De bedoeling is dat er een stukje op de site komt met "eerder gepost vandaag", "...gisteren" en "...eergisteren".
Ik krijg het alleen niet aan de gang.
De data staan in de database als time() (d-m-Y H:i)
Als ik een query doe met
o.i.d. lukt dat niet.Code:SELECT * FROM table WHERE Datum = strtotime(date('d-m-Y', time()))
Heeft er iemand een suggestie?
- mysql datum
-
25-03-2012, 19:31 #1
- Berichten
- 158
- Lid sinds
- 14 Jaar
mysql datum
-
-
25-03-2012, 19:39 #2
- Berichten
- 94
- Lid sinds
- 13 Jaar
Re: mysql datum
ik zou zoiezo de datum voorbereiden...
dit kan je zo doen:
PHP Code:$day = date("d");
$date = date("m-Y");
$date = $day."-".$date;
$vandaag = "SELECT * FROM table WHERE Datum = $date";
$day = date("d")-1;
$date = date("m-Y");
$date = $day."-".$date;
$gisteren = "SELECT * FROM table WHERE Datum = $date";
$day = date("d")-2;
$date = date("m-Y");
$date = $day."-".$date;
$eergisteren = "SELECT * FROM table WHERE Datum = $date";
-
26-03-2012, 21:45 #3
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: mysql datum
In een query moet het zo = mysql_query("SELECT * FROM table where Datum = CURDATE()");
-
26-03-2012, 22:09 #4
- Berichten
- 943
- Lid sinds
- 15 Jaar
Re: mysql datum
Gebruik van de NOW() functie is ook aan te raden, werkt voor mij nog altijd goed. :)
-
26-03-2012, 22:25 #5
- Berichten
- 158
- Lid sinds
- 14 Jaar
Re: mysql datum
bij mij om de een of andere reden niet, als ik dan ook de time() output check van degene die in de database staat en die van dezelfde dag dan zijn die verschillend.
-
26-03-2012, 23:08 #6
- Berichten
- 158
- Lid sinds
- 13 Jaar
Re: mysql datum
-
26-03-2012, 23:20 #7
- Berichten
- 751
- Lid sinds
- 15 Jaar
Re: mysql datum
ik zou zoiezo de datum voorbereiden...
dit kan je zo doen:
PHP Code:$day = date("d");
$date = date("m-Y");
$date = $day."-".$date;
$vandaag = "SELECT * FROM table WHERE Datum = $date";
$day = date("d")-1;
$date = date("m-Y");
$date = $day."-".$date;
$gisteren = "SELECT * FROM table WHERE Datum = $date";
$day = date("d")-2;
$date = date("m-Y");
$date = $day."-".$date;
$eergisteren = "SELECT * FROM table WHERE Datum = $date";
MySQL kan dit al met een simpele query doen, de functies bestaan er al voor. Dit zal je een eind op weg helpen:
Om de items van de huidige dag op te halen:
Code:SELECT * FROM tabel WHERE DATE(FROM_UNIXTIME(kolom)) = DATE(NOW())
Hiermee haal je alle items op die als datum de huidige dag hebben. Met behulp van de functie DATE() haal je de datum van een bepaalde tijd op. Met de functie FROM_UNIXTIME() zet je jou timestamp om tot een datum zodat DATE() de juiste datum kan ophalen. Met de functie NOW() geef je de hudige tijd en en ook hier haalt DATE() de datum van deze tijdstip op. Geen geklooi met PHP betreft de datums, zo simpel werkt het.
Om de items van de vorige dag op te halen:
Code:SELECT * FROM tabel WHERE DATE(FROM_UNIXTIME(kolom)) = DATE_SUB(CURRENT_DATE(), INTERVAL 1 DAY)
Verander je de INTERVAL naar 2 dan heb je de items van eergsiteren als het ware.
Mocht je als het ware alle items willen VANAF een bepaalde datum of INTERVAL, dan verander je de = gewoon naar <= bijvoorbeeld.
Hopelijk heb ik je zo voldoende geinformeerd.
-
26-03-2012, 23:31 #8
- Berichten
- 94
- Lid sinds
- 13 Jaar
Re: mysql datum
Bedankt voor deze uitleg, ik wist dat mijn code bar-slecht was, maarja... ik wist even niet hoe ik het anders zou doen.
maarja, ik hoop dat de TS hiermee verder kan
-
27-03-2012, 08:32 #9
- Berichten
- 158
- Lid sinds
- 14 Jaar
Re: mysql datum
Hartelijk dank voor alle reacties, de manier van gast17649 heb ik nu gebruikt en die werkt.
-
06-04-2012, 21:44 #10
- Berichten
- 1.483
- Lid sinds
- 16 Jaar
Re: mysql datum
Zoals eerder genoemd: Sla datums op met NOW(). Voorbeeld: UPDATE `table` SET `date` = NOW().
Query voorbeelden waarmee je de juiste rijen ophaalt;
// Rijen die vandaag aangemaakt zijn
SELECT * FROM `table` WHERE `date` = CURDATE()
// Rijen afgelopen 24 uur
SELECT * FROM `table` WHERE `date` > NOW() - INTERVAL 24 HOUR
// Rijen gisteren
SELECT * FROM `table` WHERE `date` > DATE_ADD( CURDATE(), INTERVAL -1 DAY )
// Eergister
Bovenstaande SQL maar dan -2 DAY uiteraard (niet 2 DAYS).
Conclusie
Eenmaal datums in het juiste formaat in de database bewaard, dan heb je (vrijwel nooit) geen php meer nodig;
http://dev.mysql.com/doc/refman/5.5/...functions.html
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic