Ich habe einen PHP-Kalender um http://idea-palette.com/aleventcal/calendar.php. Ich möchte, dass die Tage, die nicht Teil des aktuellen Monats sind, ausgegraut angezeigt werden (was jetzt der Fall ist), und ich möchte, dass sie als die Tage des vorherigen und nächsten Monats angezeigt werden.Wie kann ich Zahlen über den Monatstagen als neue Monatstagnummern anzeigen lassen?
Die Tage, die vor dem ersten Tag des Monats erscheinen, werden jetzt als negative Zahlen (-1, -2, -3 usw.) und als Tage nach dem letzten Tag des Monats angezeigt geh einfach weiter, also wenn ein Monat am 31. endet, dann würde es 32, 33, 34 und so weiter lesen.
Ich versuche, eine bedingte Anweisung mit einer Art von Schleife herauszufinden, wo ich sehen könnte, ob es größer ist als die gesamten Tage und dann etwas anderes tun. Das Problem, das ich sehe, ist, dass die Tabellenzelle, die erstellt wird, wird durchgeschleift wird, also wenn ich nur Tag $ tue + 1, dann anstelle von 32, wird es gerade gelesen 33.
Hier ist mein Code:
for($i=0; $i< $total_rows; $i++)
{
for($j=0; $j<7;$j++)
{
$day++;
//if the current day is less or equal to the total days in the month
if($day>0 && $day<=$total_days_of_current_month)
{
$date_form = "$current_year/$current_month/$day";
echo '<div class="date_has_event" href="#"><td';
//If the date is today then give the td cell the 'today' class
if($date_form == $today)
{
echo ' class="today"';
}
//check if any event stored for the date
if(array_key_exists($day,$events))
{
//adding the date_has_event class to the <td> and close it
echo ' class="date_has_event">'.$day;
//adding the eventTitle and eventContent wrapped inside <span> & <li> to <ul>
echo '<div class="events"><ul>'.$events[$day].'</ul></div>';
}
}
else //if the current day is less or more than the total days in the month
{
//then create a table cell with the current day of the mont
echo '<td class="padding">' . $day . ' </td>'; h
}
}
}
Dies funktioniert gut für die Zahlen, die über die Gesamtzahl der Tage in einem Monat sind, aber die Zahlen, die vor dem ersten Tag des Monats kommen, müssen 31, 30, 29 usw. sagen, aber das ist schwierig, weil einige Monate haben 30 Tage und einige Monate haben 31 Tage. – zeckdude
Ich bin mir nicht sicher, was das Problem Chris ist. http://ca2.php.net/manual/en/function.date.php 't' gibt Ihnen die Anzahl der Tage im Monat. Ich muss nur ein bisschen nachdenken; all die harten Sachen sind dir schon von PHP gegeben. – mpen