Nieus van vandaag
Ik heb in mijn MYSQL tabel allemaal nieuwsitems staan.
Nu wil ik het nieuws dat vandaag is toegevoegd laten zien aan de leden in een mooie tabel, ik hebt de nieuwsdatum met time()-functie toegevoegd.
dus tabel ziet er zo uit:
id, titel, nieuws, datum
Bedankt
Code (php)
1
$qNieuws = mysql_query("SELECT id, titel,nieuws,datum FROM nieuwsitems WHERE DATE(datum) = '".DATE(NOW())."'");
Gewijzigd op 28/12/2010 13:41:03 door Dindong Veter
Paul L op 28/12/2010 13:31:57:
Dat laat hij alle nieuws zien, die ook van gisteren
oja, erover heen gelezen aha, zal zo even aanpassen
Staat die tijd in unix seconden (INT) of in dateTime?
Kris Peeters op 28/12/2010 13:36:55:
Staat die tijd in unix seconden (INT) of in dateTime?
int(10)
Dat lukt wel hoor, daar niet van.
Maar lees toch dit eens; je zal zien dat dit toch meer mogelijkheden biedt.
http://www.phphulp.nl/php/tutorial/overig/datum-en-tijdfuncties-in-mysql/519/
Zo-iets zou wel moeten werken ... maar het kan wat properder/eleganter
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$now = time();
$eerste_seconde_vandaag = mktime(
0,
0,
0,
date('n', $now),
date('j', $now),
date('Y', $now)
);
$laatste_seconde_vandaag = mktime(
0,
0,
-1,
date('n', $now),
date('j', $now) + 1,
date('Y', $now)
);
$sql = "SELECT id, titel,nieuws,datum FROM nieuwsitems WHERE datum >= ". $eerste_seconde_vandaag ." AND datum <= ". $laatste_seconde_vandaag;
?>
$now = time();
$eerste_seconde_vandaag = mktime(
0,
0,
0,
date('n', $now),
date('j', $now),
date('Y', $now)
);
$laatste_seconde_vandaag = mktime(
0,
0,
-1,
date('n', $now),
date('j', $now) + 1,
date('Y', $now)
);
$sql = "SELECT id, titel,nieuws,datum FROM nieuwsitems WHERE datum >= ". $eerste_seconde_vandaag ." AND datum <= ". $laatste_seconde_vandaag;
?>
Gewijzigd op 28/12/2010 14:21:03 door Kris Peeters
Een tijd die je achteraf altijd weer kan reconstrueren.
Als je bij een gepost bericht een datetime zet, moet je ook altijd een tijdszone toevoegen om de tijd uniek te maken.
Maar ik zal je document zeker eens op mijn gemak lezen.
Stel je hebt dus een "insertdate" veld in je tabel met datatype "TIMESTAMP" in MySQL dan kun je een datum toekennen aan dit veld op de volgende manier:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$sql = 'INSERT INTO tabel SET insertdate = NOW()';
//of
$sql = 'INSERT INTO tabel SET insertdate = "2010-05-01 16:20"';
?>
$sql = 'INSERT INTO tabel SET insertdate = NOW()';
//of
$sql = 'INSERT INTO tabel SET insertdate = "2010-05-01 16:20"';
?>
Ondanks je de datums op deze manier opslaat kun je toch de timestamp in unix formaat opvragen van dit veld:
Het geselecteerde veld in timestamp zal dan iets 93443512 terug geven.
EDIT:
Zeg, hoe zit dat dan als je een sql export doet?
Gewijzigd op 28/12/2010 15:21:39 door Kris Peeters
Dan exporteert hij de datum in YYYY-MM-DD HH:II notatie ;-)
Ja, okay, dan ben je die unix seconden (intern of niet) en de tijdszone dus weer kwijt.