Datum niet goed te krijgen
Ten eerste nog allemaal de beste wensen.
Ik heb het volgende
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
$datumnu = date("y-m-d");
$query = "SELECT * FROM agenda WHERE datum >= $datumnu ORDER BY datum";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
$jaar = substr($obj->datum, 0,2);
$maand = substr($obj->datum, 2,2);
$dag = substr($obj->datum, 4,2);
$dagn = date("D", mktime(0, 0, 0, $maand, $dag, $jaar));
if ($dagn == "Mon") { $dagnaam = "Ma"; }
if ($dagn == "Tue") { $dagnaam = "Di"; }
if ($dagn == "Wed") { $dagnaam = "Wo"; }
if ($dagn == "Thu") { $dagnaam = "Do"; }
if ($dagn == "Fri") { $dagnaam = "Vr"; }
if ($dagn == "Sat") { $dagnaam = "Za"; }
if ($dagn == "Sun") { $dagnaam = "Zo"; }
echo "<div class=\"agendaitem\">\n";
echo "<table border=0>";
echo "<tr>\n";
echo "<td valign=\"top\" width=\"20\">$dagnaam</td>\n";
echo "<td valign=\"top\" width=\"60\"><span class=\"datum\"> $dag/$maand/$jaar</span>";
if (!empty($obj->tijd)) { echo "<br/><span class=\"tijd\">".$obj->tijd."</span>"; }
echo "</td>\n";
echo "<td valign=\"top\" ><strong>$obj->plaats, $obj->evenement</strong><Br/><p class=\"oms\">";
if (!empty($obj->omschrijving)) { echo $obj->omschrijving; }
if (substr($obj->url,0,7) != "http://") { $url = "http://".$o->url; } else { $url = $o->url; }
if (!empty($obj->url)) { echo " | <a href=\"".$url."\" target=\"_blank\" title=\"$obj->url\">Website</a>"; }
echo "</p></td></tr></table>\n";
echo "</div>\n";
}
?>
$datumnu = date("y-m-d");
$query = "SELECT * FROM agenda WHERE datum >= $datumnu ORDER BY datum";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
$jaar = substr($obj->datum, 0,2);
$maand = substr($obj->datum, 2,2);
$dag = substr($obj->datum, 4,2);
$dagn = date("D", mktime(0, 0, 0, $maand, $dag, $jaar));
if ($dagn == "Mon") { $dagnaam = "Ma"; }
if ($dagn == "Tue") { $dagnaam = "Di"; }
if ($dagn == "Wed") { $dagnaam = "Wo"; }
if ($dagn == "Thu") { $dagnaam = "Do"; }
if ($dagn == "Fri") { $dagnaam = "Vr"; }
if ($dagn == "Sat") { $dagnaam = "Za"; }
if ($dagn == "Sun") { $dagnaam = "Zo"; }
echo "<div class=\"agendaitem\">\n";
echo "<table border=0>";
echo "<tr>\n";
echo "<td valign=\"top\" width=\"20\">$dagnaam</td>\n";
echo "<td valign=\"top\" width=\"60\"><span class=\"datum\"> $dag/$maand/$jaar</span>";
if (!empty($obj->tijd)) { echo "<br/><span class=\"tijd\">".$obj->tijd."</span>"; }
echo "</td>\n";
echo "<td valign=\"top\" ><strong>$obj->plaats, $obj->evenement</strong><Br/><p class=\"oms\">";
if (!empty($obj->omschrijving)) { echo $obj->omschrijving; }
if (substr($obj->url,0,7) != "http://") { $url = "http://".$o->url; } else { $url = $o->url; }
if (!empty($obj->url)) { echo " | <a href=\"".$url."\" target=\"_blank\" title=\"$obj->url\">Website</a>"; }
echo "</p></td></tr></table>\n";
echo "</div>\n";
}
?>
In de database staat de tijd 2010-02-20
Maar op de website ziet het er zo uit
www.chrisderoo.nl/chris/agenda.php
Hoe kan ik dit veranderen want ik zie het niet meer( lees slaaaaaapp)
Zodat hij de juiste dag en datum goed geeft.
Rieksie
P.S Welterusten
Gewijzigd op 01/01/1970 01:00:00 door Richard de Boer
Nu maak je van een timestamp een datum. Vervolgens substract je daar uit de dag maand en jaar. En deze gebruik je vervolgens weer om een nieuwe tijd te maken.
Volgens mij kan je het jezelf een stuk makkelijker maken als je met een timestamp in seconden werkt. De tijd in het formaat van time(); bedoel ik dan. vervolgens kan je heel eenvoudig met date() de juiste gegevens uit de tijd halen.
http://php.net/manual/en/function.date.php
Gewijzigd op 01/01/1970 01:00:00 door repelsteeltje
en die dagnamen omzetten, zou je ook leuk zo kunnen doen:
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door repelsteeltje
kan ook niet de juiste vinden. Help!
Rieksie
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
$sql = mysql_query("SELECT
*,
DATE_FORMAT(datum, '%m-%d-%Y') AS ndatum
FROM
agenda
WHERE
datum >= NOW()
ORDER BY
datum
");
*,
DATE_FORMAT(datum, '%m-%d-%Y') AS ndatum
FROM
agenda
WHERE
datum >= NOW()
ORDER BY
datum
");
Dan kan je je datum zoals je wilt, en sla hem wel gewoon op als DATETIME en doe je het dus velemale simpeler
Gewijzigd op 01/01/1970 01:00:00 door Milo
Werkt hier dus niet zoals jij gedacht had. En nu krijg ik er ook tijd bij van nu?
Zoals ik het nu eindelijk heb komt de agenda punten er nu wel goed uit en de datum ook wel alleen de datum staat andersom.
En dat krijg ik niet goed wat ik ook probeer.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$query = "SELECT * FROM agenda WHERE datum >= $datumnu ORDER BY datum ";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
$dag = substr($obj->datum, 4,2);
$maand = substr($obj->datum, 2,2);
$jaar = substr($obj->datum, 0,2);
?>
$query = "SELECT * FROM agenda WHERE datum >= $datumnu ORDER BY datum ";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
$dag = substr($obj->datum, 4,2);
$maand = substr($obj->datum, 2,2);
$jaar = substr($obj->datum, 0,2);
?>
Het zal met de $query te maken hebben maar ik kom er niet uit.
Rieksie
Edit:
Gewijzigd op 01/01/1970 01:00:00 door Richard de Boer
Hoe kan ik dat ik een datum toe kan voegen aan de database van 1985?
En nog het ergste, het wordt gewoon op de website getoont. :(
Wie wil mij aub helpen want dit gaat ten koste van mijn slaap.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$datumnu = date("d-m-y");
$query = "SELECT * FROM agenda WHERE datum >= $datumnu ORDER BY datum ";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
echo "<div class=\"agendaitem\">\n";
echo "<table border=0>";
echo "<tr>\n";
echo "<td valign=\"top\" width=\"80\"><span class=\"datum\"> <b>$obj->datum </b></span>";
if (!empty($obj->tijd)) { echo "<br/><span class=\"tijd\">".$obj->tijd."</span>"; }
echo "</td>\n";
echo "<td valign=\"top\" ><strong>$obj->plaats, $obj->evenement</strong><Br/>";
echo "</td></tr></table>\n";
echo "</div>\n";
}
?>
$datumnu = date("d-m-y");
$query = "SELECT * FROM agenda WHERE datum >= $datumnu ORDER BY datum ";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
echo "<div class=\"agendaitem\">\n";
echo "<table border=0>";
echo "<tr>\n";
echo "<td valign=\"top\" width=\"80\"><span class=\"datum\"> <b>$obj->datum </b></span>";
if (!empty($obj->tijd)) { echo "<br/><span class=\"tijd\">".$obj->tijd."</span>"; }
echo "</td>\n";
echo "<td valign=\"top\" ><strong>$obj->plaats, $obj->evenement</strong><Br/>";
echo "</td></tr></table>\n";
echo "</div>\n";
}
?>
Rieksie
Dat is veel overzichterlijker;)
Dit $datumnu = date("d-m-y"); is dus géén datum maar tekst en daar kan je niet mee rekenen en/of vergelijkingen mee maken. Dat houdt in dat WHERE datum >= $datumnu dus totaal onbetrouwbaar is en van alles kan selecteren. De enige manier om met een datum te werken is in het standaard format: yyyy-mm-dd. In de database gebruik je dus alleen DATE of DATETIME.
Daarom had ik in mijn query ook al date_format gezet zodat hij wel ze datum netjes kon echoen maar ze datum veld wel datetime moest...
Ik vraag hem nu zo op en dat gaat goed.
Maar nog 1 vraag: De datum staat niet zoals ik hem hebben wil.
Moet net omgekeerd.
Rieksie
Zie post van Milo.
Heb ik gedaan maar daar kom ik niet uit.
Heb de query ingevoerd maar dan heb ik geen connectie meer.
Dat heeft verder geen invloed op de connectie.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
SELECT
*,
DATE_FORMAT(datum, '%m-%d-%Y') AS ndatum
FROM
agenda
WHERE
datum >= NOW()
ORDER BY
datum
?>
SELECT
*,
DATE_FORMAT(datum, '%m-%d-%Y') AS ndatum
FROM
agenda
WHERE
datum >= NOW()
ORDER BY
datum
?>
Geen connectie, fout.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$sql = mysql_query("SELECT
*,
DATE_FORMAT(datum, '%W %m-%d-%Y %H:%i') AS ndatum
FROM
agenda
WHERE
datum >= NOW()
ORDER BY
datum
");
?>
$sql = mysql_query("SELECT
*,
DATE_FORMAT(datum, '%W %m-%d-%Y %H:%i') AS ndatum
FROM
agenda
WHERE
datum >= NOW()
ORDER BY
datum
");
?>
Gewijzigd op 01/01/1970 01:00:00 door Milo
Als ik die van jouw invoer krijg ik weer fout van database.
Ik heb het nu zo
<php
$query = "SELECT *, DATE_FORMAT(datum, 'm-d-Y') AS ndatum FROM agenda WHERE datum >= NOW() ORDER BY datum ";
?>
Dat gaat nu goed alleen de datum geeft nu yyyy-mm-dd en
moet zijn dd-mm-yyyy.
@Rieksie: Je moet nu wel de datum opvragen met $var['ndatum'].
Ik zie op je site dat er nu bij de datum m-d-Y staat je meot natuurlijk ook de % teken er voor laten
PS: Ik heb je script hier goed en werkend liggen dus vandaar dat ik weet dat hij het moet doen ;)..
Gewijzigd op 01/01/1970 01:00:00 door Milo
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$datumnu = date("dd-mm-yyyy");
$query = "SELECT *, DATE_FORMAT(datum, 'm-d-Y') AS ndatum FROM agenda WHERE datum >= NOW() ORDER BY datum ";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
echo "<div class=\"agendaitem\">\n";
echo "<table border=0>";
echo "<tr>\n";
echo "<td valign=\"top\" width=\"20\">$obj->dagnaam</td>\n";
echo "<td valign=\"top\" width=\"80\"><span class=\"datum\"> <b>$obj->datum </b></span>";
if (!empty($obj->tijd)) { echo "<br/><span class=\"tijd\">".$obj->tijd."</span>"; }
echo "</td>\n";
echo "<td valign=\"top\" ><strong>$obj->plaats, $obj->evenement</strong><Br/>";
echo "</td></tr></table>\n";
echo "</div>\n";
}
?>
$datumnu = date("dd-mm-yyyy");
$query = "SELECT *, DATE_FORMAT(datum, 'm-d-Y') AS ndatum FROM agenda WHERE datum >= NOW() ORDER BY datum ";
$resultaat = mysql_query($query) or die ("<p>FOUT MET DE DATABASE! Kan geen verbinding maken met de database - informeer de webmaster!</p>");
while ($obj = mysql_fetch_object($resultaat)){
echo "<div class=\"agendaitem\">\n";
echo "<table border=0>";
echo "<tr>\n";
echo "<td valign=\"top\" width=\"20\">$obj->dagnaam</td>\n";
echo "<td valign=\"top\" width=\"80\"><span class=\"datum\"> <b>$obj->datum </b></span>";
if (!empty($obj->tijd)) { echo "<br/><span class=\"tijd\">".$obj->tijd."</span>"; }
echo "</td>\n";
echo "<td valign=\"top\" ><strong>$obj->plaats, $obj->evenement</strong><Br/>";
echo "</td></tr></table>\n";
echo "</div>\n";
}
?>
Enigste punt is de datum.
www.chrisderoo.nl/chris/agenda.php