login  Naam:   Wachtwoord: 
Registreer je!
 Forum

kalender en array probleem

Offline zwobbel - 25/02/2008 22:25
Avatar van zwobbelPHP gevorderde Hallo

Ik heb een kalender functie en als er een bepaalde datum in een array is word deze dag aangeduid in een kleurtje, het probleem is dat als je een datum in de array aanwezig is die datum in elke maand word getoond ... weet iemand hiervoor een oplossing?

  1. function printMaand($maand, $jaar) // Maand laten zien
  2. {
  3. $edag = eersteDagInMaand($maand, $jaar);
  4. $ldag = dagenInMaand($maand, $jaar);
  5. $rest = restDagen($edag, $ldag);
  6. $vandaag = mktime(0,0,0,date('n',time()),date('d', time()), date('Y', time()));
  7. $weekdag = array('Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo');
  8.  
  9. $evenementen = array();
  10.  
  11. $q = mysql_query("SELECT * FROM evenementen");
  12. while($r = mysql_fetch_object($q)){
  13. $evenementen[] = date("jmY",$r->EvenementDatum);
  14. }
  15.  
  16.  
  17. $kalender = "\n".'<table width="100%"><tr>';
  18. foreach($weekdag as $dag)
  19. {
  20. $kalender .= '<td class="wday">'.$dag.'</td>';
  21. }
  22. $kalender .= '</tr><tr>'."\n";
  23. for($i = 0; $i < ( $edag + $ldag + $rest ); $i++)
  24. {
  25. if($i < $edag || $i >= ( $edag + $ldag ))
  26. {
  27. $kalender .= '<td>&nbsp;</td>'."\n";
  28. }
  29. else
  30. {
  31. if(in_array(($i -($edag - 1)). date('m'). date('Y'), $evenementen) AND date('d', $vandaag) == ($i - ($edag - 1)) && date('m') == $maand && date('Y') == $jaar)
  32. {
  33. $kalender .= '<td class="specialday" onClick="window.location=\'?p=Kalender&Dag='.
  34. strtotime(($i -($edag - 1)) ."-".$maand."-".$jaar) .
  35.  
  36. '\';">'. ($i -($edag - 1)) .'</td>'."\n";
  37. } elseif(in_array(($i -($edag - 1)). date('m'). date('Y'), $evenementen))
  38. {
  39. $kalender .= '<td class="eventday" onClick="window.location=\'?p=Kalender&Dag='.
  40. strtotime(($i -($edag - 1)) ."-".$maand."-".$jaar) .
  41.  
  42. '\';">'. ($i -($edag - 1)) .'</td>'."\n";
  43. } elseif(date('d', $vandaag) == ($i - ($edag - 1)) && date('m') == $maand && date('Y') == $jaar)
  44.  
  45. {
  46. $kalender .= '<td class="hday">'. ($i -($edag - 1)) .'</td>'."\n";
  47. }
  48. else
  49. {
  50. $kalender .= '<td>'. ($i -($edag - 1)) .'</td>'."\n";
  51. }
  52. if(($i + 1) % 7 == 0)
  53. {
  54. $kalender .= '</tr><tr>'."\n";
  55. }
  56. }
  57. }
  58. $kalender .= '</tr></table>';
  59.  
  60. return $kalender;
  61. }

1 antwoord

Gesponsorde links
Offline finduilas - 26/02/2008 06:44
Avatar van finduilas PHP gevorderde Timespans in de array zetten in plaats van enkel de dag.

Kun je meteen ook het jaar/dag/maand opvragen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.191s