Habe meinen bisherigen Wochenübersichtskalender verbessert:
Hab hierfür eine Tabelle "cal" mit
id, inhalt, datum
und eine Tabelle von Mo->So jeweils von 10:00 bis 22:00
das ganze ist ein relativ kurzes script
Nun möchte ich gern Termine eintragen die sich wöchentlich wiederholen (bis auf widerruf), nur wie bewerkstellige ich dies am besten ? 50 Wochen im voraus planen und somit 50 einträge in der DB erstellen ?
Konkrete Frage: Wie geh ich bei der Speicherung von sich wiederholenden Einträgen am besten vor ?
Hab hierfür eine Tabelle "cal" mit
id, inhalt, datum
und eine Tabelle von Mo->So jeweils von 10:00 bis 22:00
das ganze ist ein relativ kurzes script
PHP-Code:
$heute = date("w",time())-1; //Sonntag=0
$day = array();
for($i=0;$i<7;$i++)
$day[] = date("d.m.Y",mktime(0,0,0,date("m",time()),date("d",time())-$heute+$i,date("Y",time())));
echo '<h3>Studio West</h3><br/>
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="titel" width="5%" align="center" style="border-top:none;"></td>
<td class="titel" width="13%" align="center">Montag<br>'.$day['0'].'</td>
<td class="titel" width="13%" align="center">Dienstag<br>'.$day['1'].'</td>
<td class="titel" width="13%" align="center">Mittwoch<br>'.$day['2'].'</td>
<td class="titel" width="13%" align="center">Donnerstag<br>'.$day['3'].'</td>
<td class="titel" width="13%" align="center">Freitag<br>'.$day['4'].'</td>
<td class="titel" width="13%" align="center">Samstag<br>'.$day['5'].'</td>
<td class="titel" width="13%" align="center">Sonntag<br>'.$day['6'].'</td>
</tr>';
$sql = "SELECT *,
date_format(datum,'%d.%m.%Y') as fdatum,
date_format(datum,'%H') as uhr
from cal ORDER by datum DESC";
$query = mysql_query($sql);
$cal = array();
while ( $row = mysql_fetch_array($query) )
{
$cal[$row['fdatum']][$row['uhr']][]=$row['inhalt'];
}
// Array[datum][uhrzeit]
for($i=10;$i<23;$i++)
{
$zeit = mktime($i,$j,0,date("m",time()),date("d",time()),date("Y",time()));
echo '<tr>
<td style="border-left:1px solid #000;font-weight:bold; height:30px;">'.date("H:i",$zeit).'</td>';
for($k=0;$k<7;$k++)
{
echo '<td onmouseover="style.backgroundColor=\'#FFE4B5\'" onmouseout="style.backgroundColor=\'transparent\'">';
for($l=0;$l<count($cal[$day[$k]][date("H",$zeit)]);$l++)
echo ($cal[$day[$k]][date("H",$zeit)][$l]);
echo '</td>';
}
echo '</tr>';
}
echo '</table>
';
Nun möchte ich gern Termine eintragen die sich wöchentlich wiederholen (bis auf widerruf), nur wie bewerkstellige ich dies am besten ? 50 Wochen im voraus planen und somit 50 einträge in der DB erstellen ?
Konkrete Frage: Wie geh ich bei der Speicherung von sich wiederholenden Einträgen am besten vor ?
Kommentar