Termin Kalender Doppelte Ausgabe

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Termin Kalender Doppelte Ausgabe

    Grüß euch.

    Es gibt zwar viele PHP Kalender aber keinen der mir wirklich zusagt, entweder zu überladen oder aber schwer an die eigenen Bedürftnisse anzupassen. Deshalb habe ich mir einen eigenen Geschrieben.

    Steht ein Termin an wird mir die Tageszahl in Grün ausgegeben, fahre ich mit der Maus drüber so erhalte ich weitere Informationen. Soviel zum Grundprinzip. Dies klappt auch bestens.
    Das Problem ist nun, habe ich 2 Termine eingetragen zeigt er den Kalender Doppelt an. Habe ich 3 Termine so erhalte ich 3x den Kalender usw.

    Wenn ich jetzt zb an einem Tag 2 Termine habe soll er mir nicht 2 mal den Kalender ausgaben mit jeweils 2 mal den unterschiedlichen Eintrag (Termin) als hover sondern lediglich 1 mal, beide Termine in dem Hover erfasst.

    Hat da zufällig jemand eine Lösung?

    Quellcode

    1. $today = date('d');
    2. $days = date('t');
    3. $month = date('m');
    4. $year = date('y');
    5. $firstday = mktime(0, 0, 1, $month, 1, $year);
    6. $lastday = mktime(0, 0, 1, $month, $days, $year);
    7. $first = date('w', $firstday);
    8. $last = date('w', $lastday);
    9. $diff = 7 - $last;
    10. $jahr = date('Y');
    11. $end = '';
    12. $begin = '';
    13. $months = array("Januar", "Februar", "März", "April", "Mai", "Juni",
    14. "Juli", "August", "September", "Oktober", "November", "Dezember");
    15. $monat = $months[date("n", time()) - 1];
    16. if ($first == 0)
    17. $first = 7;
    18. if ($last == 0)
    19. $last = 7;
    20. for ($i = 1; $i < $first; $i++) {
    21. $begin.= "<td></td>";
    22. }
    23. for ($i = 0; $i < $diff; $i++) {
    24. $end.= "<td></td>";
    25. }
    26. $var = "
    27. <table class=\"table\">
    28. <thead>
    29. <tr>
    30. <th>Mo</th>
    31. <th>Di</th>
    32. <th>Mi</th>
    33. <th>Do</th>
    34. <th>Fr</th>
    35. <th>Sa</th>
    36. <th>So</th>
    37. </tr>
    38. </thead>
    39. <tr>
    40. <tbody>
    41. " . $begin;
    42. for ($i = 1; $i < ($days + 1); $i++) {
    43. if ($first == 0):
    44. $var .= "<tr class=\"gradeX\">";
    45. endif;
    46. $DB->set_sql('SELECT * FROM ' . CALENDAR);
    47. $DB->execute();
    48. while ($row = $DB->fetch_assoc()) {
    49. $termin[date('m', $row['cal_date'])][date('j', $row['cal_date'])] = $row['cal_title'];
    50. if (isset($termin[$month][$i])) {
    51. $var .= '<td><a href="calendar.php?page=see&amp;id=' . $row['cal_id'] . '" rel="tooltip-html" title="' . $row['cal_text'] . '"><span class="days">' . $i . '</span></a></td>';
    52. }
    53. else {
    54. $var .= "<td>" . $i . "</td>";
    55. }
    56. }
    57. if ($first == 7):
    58. $var .= "</tr>";
    59. $first = 0;
    60. endif;
    61. $first++;
    62. }
    63. $var .= $end . "</tr>";
    64. $var .= "";
    65. $var .= "</tbody></table>";
    Alles anzeigen
    Bilder
    • kalender.png

      18,57 kB, 1.266×240, 284 mal angesehen