Ik ben redelijk bekend met PHP en MySQL maar er is iets wat ik graag zou willen, maar niet precies weet hoe ik moet verwezenlijken.
Ik kan nieuws in de database zetten met datum en het ook weer uitlezen. Echter krijg je dus alle berichten onder elkaar.
In sommige opzichten is dit geen probleem, maar bij het weergeven van nieuws headlines op de hoofdpagina lijkt het me mooier om het te weergeven per dag, bijv:
Het gaat er ook om dat niet alle dagen uitgelezen worden, dus tot een max van bij 15 berichten.
En als je kijkt naar de dag wordt waarschijnlijk alles met die dag uitgelezen en klopt het ook niet meer.
<?php
$days = 5; // Van hoeveel dagen wil je het nieuws zien?
$get_query = mysql_query("SELECT datum FROM nieuws ORDER BY id DESC GROUP BY datum LIMIT 0," . $days) or die(mysql_error());
$get_count = mysql_num_rows($get_query);
if($get_count != 0)
{
while($get = mysql_fetch_assoc($get_query))
{
echo '<br /><strong>' . $get['datum'] . '</strong><br /><br />';
$nieuws_query = mysql_query("SELECT * FROM nieuws WHERE datum = '" . $get['datum'] . "' ORDER BY id DESC") or die(mysql_error());
while($nieuws = mysql_fetch_assoc($nieuws_query))
{
echo '-' . $nieuws['title'] . '<br />';
}
}
}
else
{
echo 'Er is (nog) geen nieuws gepost.';
}
?>
<?php
$days=5;// Van hoeveel dagen wil je het nieuws zien?
$get_query=mysql_query("SELECT datum FROM nieuws ORDER BY id DESC GROUP BY datum LIMIT 0,".$days) or die(mysql_error());
Er staat ook een tijd in de datum, dus dan werkt het waarschijnlijk niet goed, of kan ik gewoon een de datumwaarde af laten korten tot 10 tekens in de sql query?
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY datum1 LIMIT 0,5' at line 1
(datum is in mijn tabel datum1)
De code:
<?php
$get_query = mysql_query("SELECT datum1 FROM fp_nieuws ORDER BY nid DESC GROUP BY datum1 LIMIT 0," . $days) or die(mysql_error());
?>