zmedia
Angesehenes Mitglied
Hallo zusammen
Habe da ein Problem was mich zu verzweiflung treibt.
Ich stelle Kalenderdaten eines bestimmten Wochentag in einem bestimmten Zeitraum dar.
CODE $date_from = new DateTime("2010-08-22");
$date_to = new DateTime("2011-07-22");
for ($date = clone $date_from; $date <= $date_to; $date->modify('next monday'))
{
// hier werden mit der IF Bedingung gewisse Tage ausgeblendet.
if($date < new DateTime("2010-12-20") or $date > new DateTime("2011-01-05"))
{
$tag =$date->format('d');
$monat =$date->format('M');
$woche =$date->format('W');
$jahr =$date->format('Y');
echo $tag.'-'. $monat.'-'.$jahr.'--'.$woche.$i.'<br />';
}
}
soweit so gut. Das funktioniert bestens.
In der if Bedungung ist eine Zeitspanne angegeben, welche im Kalender ausgeblendet wird. Nun habe ich aber mehrere Zeitspannen welche wiederum in einer MySQL DB gespeicht sind.
Die Tabelle beinhaltet nur die Daten der Ausblendzeiten und somit hat diese nur 3 Felder
ID|datum_event_start|datum_event_end
1|20-12-2010|05-01-2011
2|22-10-2010|02-11-2010
3|19-04-2011|30-04-2011
CODE $abfrage_kalenderdaten = mysql_query ("SELECT * FROM $tab_kalenderdaten");
while ($row = mysql_fetch_array ($abfrage_kalenderdaten))
{
$event_von = $row["datum_event"];
$event_bis = $row["datum_event_end"];
}
Nun mein Problem, wie bringe ich die zwei zusammen. Wenn ich eine while Schleife mache wird mir jedes Datum bei jedem Eintrag geschieben - also bei 2 Eintrgen kommt alles doppelt bei 3 alles 3x usw.
Wenn ich die while Schleife ausserhalt der if Bedingung mache wird nur jeweils der letzte durchgelaufene Datensatz genommen.
Wie stelle ich das an - hat mir jemand einen Tipp?
Danke
Habe da ein Problem was mich zu verzweiflung treibt.
Ich stelle Kalenderdaten eines bestimmten Wochentag in einem bestimmten Zeitraum dar.
CODE $date_from = new DateTime("2010-08-22");
$date_to = new DateTime("2011-07-22");
for ($date = clone $date_from; $date <= $date_to; $date->modify('next monday'))
{
// hier werden mit der IF Bedingung gewisse Tage ausgeblendet.
if($date < new DateTime("2010-12-20") or $date > new DateTime("2011-01-05"))
{
$tag =$date->format('d');
$monat =$date->format('M');
$woche =$date->format('W');
$jahr =$date->format('Y');
echo $tag.'-'. $monat.'-'.$jahr.'--'.$woche.$i.'<br />';
}
}
soweit so gut. Das funktioniert bestens.
In der if Bedungung ist eine Zeitspanne angegeben, welche im Kalender ausgeblendet wird. Nun habe ich aber mehrere Zeitspannen welche wiederum in einer MySQL DB gespeicht sind.
Die Tabelle beinhaltet nur die Daten der Ausblendzeiten und somit hat diese nur 3 Felder
ID|datum_event_start|datum_event_end
1|20-12-2010|05-01-2011
2|22-10-2010|02-11-2010
3|19-04-2011|30-04-2011
CODE $abfrage_kalenderdaten = mysql_query ("SELECT * FROM $tab_kalenderdaten");
while ($row = mysql_fetch_array ($abfrage_kalenderdaten))
{
$event_von = $row["datum_event"];
$event_bis = $row["datum_event_end"];
}
Nun mein Problem, wie bringe ich die zwei zusammen. Wenn ich eine while Schleife mache wird mir jedes Datum bei jedem Eintrag geschieben - also bei 2 Eintrgen kommt alles doppelt bei 3 alles 3x usw.
Wenn ich die while Schleife ausserhalt der if Bedingung mache wird nur jeweils der letzte durchgelaufene Datensatz genommen.
Wie stelle ich das an - hat mir jemand einen Tipp?
Danke