login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Berichten per dag weergeven

Offline VincentG - 10/07/2005 16:55 (laatste wijziging 10/07/2005 20:43)
Avatar van VincentGNieuw lid 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:

Maandag 28-3:
- Headline 3
- Headline 2
Zaterdag 26-3:
- Headline 1

Een voorbeeld waarbij dit gebruikt wordt is op http://www.insidegamer.nl te zien.

De meeste dingen die ik wil zijn me gelukt of weet ik hoe ik het moet aanpakken, maar in dit geval dus niet.
Iemand die me hiermee kan helpen.

edit: url code werkt niet, even link aangepast.

11 antwoorden

Gesponsorde links
Offline Brycer - 10/07/2005 17:26
Avatar van Brycer HTML interesse Ik snap niet wat je vraag is.
Wil je van onder naar boven uitlezen?
Dat kan zo:
  1. $sql = "SELECT `id`, `titel`, `datum` FROM `werknieuws` ORDER BY `id` DESC";
  2. $res = mysql_query($sql);

Dan moet id een primary key zijn.
Is dit niet duidelijk, dan moet je even een PM naar me sturen, dan help ik je.;-)
NathaN
Offline b4nkr0bz0r - 10/07/2005 17:34
Avatar van b4nkr0bz0r PHP gevorderde brycer, lees dan...hij wil alle geposte items van de dag hebben..
Offline Brycer - 10/07/2005 17:38
Avatar van Brycer HTML interesse ow oke.
Dan maak je een extra kolom met de naam `dag`.
Die geef je bijv de waarde 'ma' voor maandag.
In je script zet je:
  1. $sql="SELECT `id`, `titel`, `datum` FROM `nieuws` WHERE `dag`= 'ma'"

zo beter?;-) 
Offline b4nkr0bz0r - 10/07/2005 18:14
Avatar van b4nkr0bz0r PHP gevorderde nee, niet veel beter denk ik, want ma = 1 x in de week, (meestal) 4 x in de maand, 52 x per jaar, dit tel je dan toch allenmaal bij elkaar op?
Offline VincentG - 10/07/2005 20:32
Avatar van VincentG Nieuw lid 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.
Offline cracker - 11/07/2005 08:34 (laatste wijziging 11/07/2005 08:36)
Avatar van cracker Onbekend laatste berichten uitlezen:
=> tel het aantal headlines
=> limit de query van het opvragen van de posts op -15
  1. limit('".$aantal - 15."','".$aantal."');

zou moeten werken als query...

Edit: er staan geen volledige scripts bij. Oorzaak: weer een nachtje doorgewerkt => 
Offline XenoX - 11/07/2005 11:28
Avatar van XenoX Gouden medailleGouden medaille

PHP expert
  1. <?php
  2. $days = 5; // Van hoeveel dagen wil je het nieuws zien?
  3.  
  4. $get_query = mysql_query("SELECT datum FROM nieuws ORDER BY id DESC GROUP BY datum LIMIT 0," . $days) or die(mysql_error());
  5. $get_count = mysql_num_rows($get_query);
  6.  
  7. if($get_count != 0)
  8. {
  9. while($get = mysql_fetch_assoc($get_query))
  10. {
  11. echo '<br /><strong>' . $get['datum'] . '</strong><br /><br />';
  12.  
  13. $nieuws_query = mysql_query("SELECT * FROM nieuws WHERE datum = '" . $get['datum'] . "' ORDER BY id DESC") or die(mysql_error());
  14.  
  15. while($nieuws = mysql_fetch_assoc($nieuws_query))
  16. {
  17. echo '-' . $nieuws['title'] . '<br />';
  18. }
  19. }
  20. }
  21. else
  22. {
  23. echo 'Er is (nog) geen nieuws gepost.';
  24. }
  25. ?>


Niet getest.
Offline VincentG - 11/07/2005 15:52
Avatar van VincentG Nieuw lid 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?
Offline Maarten - 11/07/2005 17:03
Avatar van Maarten Erelid
Citaat:
dus dan werkt het waarschijnlijk niet goed
als je het nu al eerst een keer testte?
Offline VincentG - 11/07/2005 17:35
Avatar van VincentG Nieuw lid Hij geeft een error:

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());
?>
Offline VincentG - 13/07/2005 00:44
Avatar van VincentG Nieuw lid Group By moet voor Order by en dan werkt ie. 
Wel interessant, ga ik nog eens goed naar kijken.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.271s