quicksilver
Lt. Junior Grade
- Registriert
- Jan. 2004
- Beiträge
- 363
Hi ich habe für meine Homepage ein kleinen Kalender erstellt. Er funktioniert auch soweit ganz gut. Ich habe nun leider nur das Problem das ich die Termine aus einer Datenbank im Kalender verlinken will so das man wenn man auf den Termin klickt der Termin angezeigt wird. Ich habe nur leider das Problem das irgendwie immer nur der Timestamp des letztens Termins angezeigt wird.
Hier die Datenbank:
Hier die Funktion:
Ich bin echt am verzweifeln weil ich den Fehler nicht finde. Wäre super wenn mir da wer helfen könnte!
Vielen Dank !
Hier die Datenbank:
PHP:
CREATE TABLE `kalender` (
`id` int(20) NOT NULL auto_increment,
`datum` text NOT NULL,
`erstellerid` int(20) NOT NULL default '0',
`titel` text NOT NULL,
`content` text NOT NULL,
`intern_extern` char(2) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Daten für Tabelle `kalender`
--
INSERT INTO `kalender` (`id`, `datum`, `erstellerid`, `titel`, `content`, `intern_extern`) VALUES (1, '1141246610', 4, 'test', 'test', ''),
(2, '1143125578', 5, 'test 2', 'blaaaaaa', '1');
Hier die Funktion:
PHP:
function Kalender()
{
global $navigation, $kalender;
// Auslesen des Monats
$getdate=$_GET['getdate'];
// Aktualisieren der Daten
if(!empty($getdate))
{
$month=date("m",$getdate);
$year=date("Y",$getdate);
}
else
{
$month=date("m");
$year=date("Y");
}
// Monate in Deutsch umschreiben
$MonatsName = array ("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
// Blätterfunktion
if(!empty($getdate))
{
$year=date("Y",$getdate);
$dayf=date("F",$getdate);
$dayf = $MonatsName[date(n,$getdate)-1];
}
else
{
$year=date("Y");
$dayf=date("F");
$dayf = $MonatsName[date(n)-1];
}
$nextmonth=$month + 1; $lastmonth=$month -1;
$nextlink=gmmktime(0,0,0,$nextmonth,1,$year);
$lastlink=gmmktime(0,0,0,$lastmonth,1,$year);
// Tabelle erstellen
$kalender .="\n\t\t\t\t<table cellspacing=\"1\">\n\t\t\t\t<tr class=\"head\">\n";
$kalender .="\t\t\t\t <td><a href=\"index.php?open=".$_GET["open"]."&view=".$_GET["view"]."&getdate=$lastlink\">«</a></td>\n";
$kalender .="\t\t\t\t <td class=\"year\" colspan=\"5\">$dayf $year</td>\n";
$kalender .="\t\t\t\t <td><a href=\"index.php?open=".$_GET["open"]."&view=".$_GET["view"]."&getdate=$nextlink\">»</a></td>\n\t\t\t\t</tr>\n\n";
// Wochentage
$kalender .="\t\t\t\t<tr class=\"days\">\n";
$kalender .="\t\t\t\t <td>Mo</td>\n";
$kalender .="\t\t\t\t <td>Di</td>\n";
$kalender .="\t\t\t\t <td>Mi</td>\n";
$kalender .="\t\t\t\t <td>Do</td>\n";
$kalender .="\t\t\t\t <td>Fr</td>\n";
$kalender .="\t\t\t\t <td>Sa</td>\n";
$kalender .="\t\t\t\t <td>So</td>\n";
$kalender .="\t\t\t\t</tr>\n\n";
$kalender .="\t\t\t\t<tr>\n";
// Variablen setzen
$dc=0;
$actual=1;
$rowc=7;
// Auslesen der Tage
$days=date("t", mktime(0,0,0,$month,1,$year));
$firstday=date("l", mktime(0,0,0,$month,1,$year));
if($firstday!="Monday") {
$dc++;
if($firstday!="Tuesday") {
$dc++;
if($firstday!="Wednesday") {
$dc++;
if($firstday!="Thursday") {
$dc++;
if($firstday!="Friday") {
$dc++;
if($firstday!="Saturday") {
$dc++;
}
}
}
}
}
}
// Leere Felder im Kalender
if($dc!=0)
{
$kalender .="\t\t\t\t <td colspan=\"$dc\"></td>\n";
}
// Zeilenumbruch im Kalender
while ($actual<=$days)
{
if($dc==7 OR $dc==14 OR $dc==21 OR $dc==28 OR $dc==35)
{
$kalender .="\t\t\t\t</tr>\n\n\t\t\t\t<tr>\n"; $rowc=$rowc + 7;
}
// Zeit auslesen
$tsday=mktime(0,0,0,$month,$actual,$year);
$tsday2=$tsday + 86399;
$evc=0;
// Termine auslesen
$sql9="SELECT
id,
datum
FROM
kalender
WHERE datum >= '$tsday'";
$eget=mysql_query($sql9);
while ($evt = mysql_fetch_object($eget))
{
$datum = $evt->datum;
if($evt->datum>=$tsday AND $evt->datum<=$tsday2)
{ $evc++; }
}
// Hervorhebungen
if ($actual==date("d") AND $month==date("m") AND $year==date("Y"))
{
$mkpd=" \t\t\t <td class=\"heute\" title=\"Heute\">";
}
else
{
if($evc!=0)
{
$mkpd="\t\t\t\t <td class=\"termin\">";
}
else
{
$mkpd="\t\t\t\t <td>";
}
}
if ($evc!=0)
{
$kalender .=" $mkpd <a href=\"index.php?open=kalender&view=termin&getdate=$datum\">$actual</a></td>";
}
if($evc==0)
{
$kalender .="".$mkpd."".$actual."</td>\n";
}
$actual++;
$dc++;
}
if($dc!=$rowc)
{
$csp=$rowc - $dc;
$kalender .="\t\t\t\t <td colspan=\"$csp\"></td>\n\t\t\t\t</tr>\n";
}
$kalender .="\t\t\t\t</table>\n";
}
Ich bin echt am verzweifeln weil ich den Fehler nicht finde. Wäre super wenn mir da wer helfen könnte!
Vielen Dank !
Zuletzt bearbeitet: