login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Archief maken (Opgelost)

Offline luchtpost - 07/03/2008 20:33
Avatar van luchtpostPHP interesse Beste sitemasters,
Kan iemand me wat op weg helpen met het maken van een archief?

9 antwoorden

Gesponsorde links
Offline goku - 07/03/2008 20:34
Avatar van goku Nieuw lid hmm, duidelijke post...  

Een archief voor wat?
Offline luchtpost - 07/03/2008 20:35
Avatar van luchtpost PHP interesse Een archief voor mijn weblog berichten. Deze staan opgeslagen in een tabel met oa een veld datum_tijd (timestamp).
Offline finduilas - 07/03/2008 20:41
Avatar van finduilas PHP gevorderde Dat is niet zo moeilijk. Enkele selectquery's,... (als je gaat werken met paginanavigatie). Je kan best eens kijken bij de tutorials hier op sitemasters.
Offline luchtpost - 07/03/2008 20:45 (laatste wijziging 07/03/2008 20:45)
Avatar van luchtpost PHP interesse Ik dacht meer aan zoiets als dit:

januari 2008
bericht1
bericht2
...
februari 2008
bericht1
bericht2
...
maart 2008
bericht1
bericht2
...
Offline finduilas - 07/03/2008 20:49
Avatar van finduilas PHP gevorderde
  1. $res = mysql_query("SELECT * FROM archief ORDER BY datum DESC");

En dan een while met een mysql_fetch_object ofzo, hierin ga je dan de datums controleren (date("m",$datum)) zo krijg je bv de maand van een datum, idem met jaar. En kijk je met een IF of de maand veranderd is bij de vorige, indien ja een echo van die ..., anders gewoon verder doen.
Offline luchtpost - 07/03/2008 21:06 (laatste wijziging 07/03/2008 21:52)
Avatar van luchtpost PHP interesse Hoe kan ik er nu voor zorgen dat hetzelfde jaar en dezelfde maand maar één keer getoond worden?

Dit is wat ik voorlopig heb:

  1. <?php
  2. include 'configuratie.php';
  3. $sQuery = "SELECT *, DATE_FORMAT(datum_tijd, '%w') AS dag,
  4. DATE_FORMAT(datum_tijd, '%d') AS datum,
  5. DATE_FORMAT(datum_tijd, '%c') AS maand,
  6. DATE_FORMAT(datum_tijd, '%Y') AS jaar
  7. FROM weblog
  8. ORDER BY id DESC";
  9. $result = mysql_query($sQuery);
  10. while ($row = mysql_fetch_array($result)){
  11. echo $row['jaar'];
  12. echo '<br />';
  13. echo $row['maand'];
  14. echo '<br />';
  15. }
  16. ?>
Offline finduilas - 07/03/2008 22:23
Avatar van finduilas PHP gevorderde
  1. <?phperror_reporting(E_ALL);include 'configuratie.php';$sQuery = "SELECT *, DATE_FORMAT(datum_tijd, '%w') AS dag, DATE_FORMAT(datum_tijd, '%d') AS datum, DATE_FORMAT(datum_tijd, '%c') AS maand, DATE_FORMAT(datum_tijd, '%Y') AS jaar FROM weblog ORDER BY id DESC";$result = mysql_query($sQuery);
  2. $jaar = 0;
  3. $maand = 0;
  4. $dag = 0;
  5. while ($row = mysql_fetch_array($result)){
  6. if($jaar != $row['jaar']) {
  7. echo $row['jaar'];
  8. $jaar = $row['jaar'];
  9. if($maand != $row['maand']) {
  10. echo $row['maand'];
  11. $maand = $row['maand'];
  12. }
  13. }?>


Zoietsachtigs? Of mss met een GROUP BY?
Offline finduilas - 07/03/2008 22:23
Avatar van finduilas PHP gevorderde
  1. <?phperror_reporting(E_ALL);include 'configuratie.php';$sQuery = "SELECT *, DATE_FORMAT(datum_tijd, '%w') AS dag, DATE_FORMAT(datum_tijd, '%d') AS datum, DATE_FORMAT(datum_tijd, '%c') AS maand, DATE_FORMAT(datum_tijd, '%Y') AS jaar FROM weblog ORDER BY id DESC";$result = mysql_query($sQuery);
  2. $jaar = 0;
  3. $maand = 0;
  4. $dag = 0;
  5. while ($row = mysql_fetch_array($result)){
  6. if($jaar != $row['jaar']) {
  7. echo $row['jaar'];
  8. $jaar = $row['jaar'];
  9. if($maand != $row['maand']) {
  10. echo $row['maand'];
  11. $maand = $row['maand'];
  12. }
  13. }?>


Zoietsachtigs? Of mss met een GROUP BY?
Offline luchtpost - 08/03/2008 12:22
Avatar van luchtpost PHP interesse Ja, dankjewel finduilas!

  1. <?php
  2.  
  3. include 'configuratie.php';
  4.  
  5. $sQuery = "SELECT *, DATE_FORMAT(datum_tijd, '%w') AS dag,
  6. DATE_FORMAT(datum_tijd, '%d') AS datum,
  7. DATE_FORMAT(datum_tijd, '%c') AS maand,
  8. DATE_FORMAT(datum_tijd, '%Y') AS jaar
  9. FROM weblog
  10. ORDER BY datum_tijd DESC";
  11. $result = mysql_query($sQuery);
  12.  
  13. $maandnamen = array (1 => 'januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december');
  14.  
  15. $jaar = 0;
  16. $maand = 0;
  17. $dag = 0;
  18.  
  19. while ($row = mysql_fetch_array($result)){
  20. if($maand != $row['maand']) {
  21. echo '<a href="index.php?jaar='.$row['jaar'].'&maand='.$row['maand'].'">'.$maandnamen[$row['maand']].' '.$row['jaar'].'</a><br />';
  22. $maand = $row['maand'];
  23. }
  24. }
  25. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.229s