tijd en datum apart
Ik ben bezig met een nieuwsscriptje. Het opslaan uitlezen lukt allemaal.
De datum sla ik op als datetime zodat er ook een tijd is van hoe laat iets gepost is.
dan krijg ik datum en die tijd te zien.
Maar nu wil ik de tijd en datum apart hebben zodat ik wat meer mogelijkheden om het te laten zien. Dat ik bij voorbeeld linksboven een datum heb staan en rechtsonder de tijd.
hoe doe ik dat?
ik hoop dat mijn bedoeling duidelijk is
Zie de vele datumfuncties op de mysql-site.
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
maar ik kan er geen wijs uit
Ik had hier al gekeken maar ik kan er geen wijs uit
En wat snap je niet?
Persoonlijk zou ik SQL kiezen, dus zoiets:
Je krijgt dan $row['tijd'] en $row['datum'].
Met strftime() kan je dan mooi de tijd/datum echoen.
Wellicht is dat sneller dan in php de tijd/datum splitsen, wat net zo makkelijk is. (wellicht sneller...).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<? $sql = "
INSERT INTO
news
(
id,
title,
writer,
datum,
bericht
)
VALUES
(
'',
'". mysql_real_escape_string( $_POST['title'] ) ."',
'". mysql_real_escape_string( $_POST['writer'] ) ."',
NOW(),
'". mysql_real_escape_string( $_POST['bericht'] ) ."'
)";
?>
INSERT INTO
news
(
id,
title,
writer,
datum,
bericht
)
VALUES
(
'',
'". mysql_real_escape_string( $_POST['title'] ) ."',
'". mysql_real_escape_string( $_POST['writer'] ) ."',
NOW(),
'". mysql_real_escape_string( $_POST['bericht'] ) ."'
)";
?>
Dus daar moet ik dan nog een tijd veld bij voegen dan?
En dan bij het ophalen die query van jou toe passen?
Gewijzigd op 01/01/1970 01:00:00 door Roland Braat
Je hebt een datetime veld in je eerste post, daarbij heeft Eddy al de oplossing gegeven voor het selecteren van gegevens.
Roland schreef op 04.11.2008 18:58:
Dus daar moet ik dan nog een tijd veld bij voegen dan?
Nee, het ophalen doe je iets aangepaster. Zie de andere posts.
Dit heb ik nu:
Code (php)
1
2
3
2
3
<?
$sql = "SELECT id, title, writer, bericht, datum FROM news ORDER BY datum DESC";
?>
$sql = "SELECT id, title, writer, bericht, datum FROM news ORDER BY datum DESC";
?>
En daar moet dit nog tussen dan?
TIME(datetime) AS tijd, DATE(datetime) AD datum,
die AD moet ook AS zijn!
Code (php)
1
2
3
2
3
<?php
$sql = "SELECT id, title, writer, bericht, TIME(datum) AS tijd, DATE(datum) AS datum FROM news ORDER BY datum DESC";
?>
$sql = "SELECT id, title, writer, bericht, TIME(datum) AS tijd, DATE(datum) AS datum FROM news ORDER BY datum DESC";
?>
Dit zou hem moeten zijn volgens mij.
Vervolgens kun je de datum eruit halen met $row['datum'] wat je al had alleen nu is de tijd apart erbij gekomen en die kun je pakken met $row['tijd']
@Benny: Nooit een alias dezelfde naam geven als het origineel.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Jullie waren sneller als mij.
Zo werkt het wel ja.
Kan ik die manier de datum ook omzetten in de nederlandse datum?
Gewijzigd op 01/01/1970 01:00:00 door Roland Braat
Code (php)
1
2
3
2
3
<?
$sql = "SELECT id, title, writer, bericht, TIME(datum) AS losse_tijd, DATE_FORMAT(datum, '%d-%m-%Y') AS losse_datum FROM news ORDER BY datum DESC";
?>
$sql = "SELECT id, title, writer, bericht, TIME(datum) AS losse_tijd, DATE_FORMAT(datum, '%d-%m-%Y') AS losse_datum FROM news ORDER BY datum DESC";
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
En heet het veld egt datetime? Heet t niet gewoon datum?
Verder mag de nieuwe naam (na AS ) niet hetzelfde zijn als de oorspronkelijke, en mag hij maar 1x worden benoemt
Ik had hem ondertussen al werkend.
Nu was mijn vraag nog, kan ik op die manier ook de datum weergaven veranderen van 2008-11-04 in 04-11-2008
Werkt perfect nu thx voor alle hulp