Hallo ik heb een script voor een kalender, maar ik zit met het probleem dat mijn links vorige en volgende week niet werken..(in de URL verandert mijn datum slechts éénmaal) en in mijn content blijf ik op de huidige week staan.
Ik heb hier mn code gepost in de hoop dat iemand de fout spoedig vindt. (probleem is echter wel dat ik het morgen moet indienen).
1) Tabellenstructuur:
CREATE TABLE `tbl_kalender` (
`kalender_id` int(11) NOT NULL auto_increment,
`datum` text NOT NULL,
`beginuur` time NOT NULL default '00:00:00',
`einduur` time NOT NULL default '00:00:00',
`activiteit` longtext NOT NULL,
`gebruikers_id` int(11) NOT NULL default '0',
PRIMARY KEY (`kalender_id`)
) TYPE=MyISAM AUTO_INCREMENT=53 ;
2) code voor de functies : date.php:
<? function dag ($dag) {
switch ($dag) {
case 0:
print "Zondag";
break;
case 1:
print "Maandag";
break;
case 2:
print "Dinsdag";
break;
case 3:
print "Woensdag";
break;
case 4:
print "Donderdag";
break;
case 5:
print "Vrijdag";
break;
case 6:
print "Zaterdag";
break;
}
}
?>
<? function maand ($maand) {
switch ($maand) {
case 1:
print "januari";
break;
case 2:
print "februari";
break;
case 3:
print "maart";
break;
case 4:
print "april";
break;
case 5:
print "mei";
break;
case 6:
print "juni";
break;
case 7:
print "juli";
break;
case 8:
print "augustus";
break;
case 9:
print "september";
break;
case 10:
print "oktober";
break;
case 11:
print "november";
break;
case 12:
print "december";
break;
}
}
?>
<? function krijgdatum2 ($dagnummer,$dag) {
$inhoud = split ("-",$dag);
$jaar = $inhoud[0];
$maand = $inhoud[1];
$datum = $inhoud[2];
$dag_van_de_week = date("w");
$dag_die_ik_wil = $datum - $dag_van_de_week + $dagnummer;
return date ("Y-m-d", mktime (0,0,0,$maand,$dag_die_ik_wil,$jaar));
}
?>
<?
//krijdatum opvragen van server
function krijgdatum ($dag) {
$datum = date("j");
$maand = date("n");
$jaar = date ("Y");
$dag_van_de_week = date("w");
$dag_die_ik_wil = $datum - $dag_van_de_week + $dag;
return date ("Y-m-d", mktime (0,0,0,$maand,$dag_die_ik_wil,$jaar));
}
?>
<? function verminder_dag ($dag) {
$inhoud = split ("-",$dag);
$jaar = $inhoud[0];
$maand = $inhoud[1];
$dag = $inhoud[2];
$dag = $dag -1;
$dag_van_de_week = date("w", mktime (0,0,0,$maand,$dag,$jaar));
if ($dag_van_de_week == 0 )
{
$dag = $dag -1;
}
$dag_van_de_week = date("w", mktime (0,0,0,$maand,$dag,$jaar));
if ($dag_van_de_week == 6 )
{
$dag = $dag -1;
}
return date ("Y-m-d", mktime (0,0,0,$maand,$dag,$jaar));
}
?>
<? function verminder_week ($dag) {
$inhoud = split ("-",$dag);
$jaar = $inhoud[0];
$maand = $inhoud[1];
$dag = $inhoud[2];
$dag = $dag -7;
return date ("Y-m-d", mktime (0,0,0,$maand,$dag,$jaar));
}
?>
<? function vermeerder_dag ($dag) {
$inhoud = split ("-",$dag);
$jaar = $inhoud[0];
$maand = $inhoud[1];
$dag1 = $inhoud[2];
$dag1 = $dag1 +1;
return date ("Y-m-d", mktime (0,0,0,$maand,$dag1,$jaar));
}
?>
<? function vermeerder_week ($dag) {
$inhoud = split ("-",$dag);
$jaar = $inhoud[0];
$maand = $inhoud[1];
$dag = $inhoud[2];
$dag = $dag +7;
return date ("Y-m-d", mktime (0,0,0,$maand,$dag,$jaar));
}
?>
<? function datum_naar_tijdstamp ($dag) {
$inhoud = split ("-",$dag);
$jaar = $inhoud[0];
$maand = $inhoud[1];
$dag = $inhoud[2];
$dag = $dag +7;
return mktime (0,0,0,$maand,$dag,$jaar);
}
?>
3) code voor de kalender zelf weer te geven:
<link href="opmaak.css" rel="stylesheet" type="text/css">
<table width="100%" border="0" cellpadding="4" cellspacing="4">
<tr>
<td><p align="left" class="tekst"><strong>D</strong>it is de wekelijkse kalender waar je steeds je belangrijke agendapunten kan toevoegen en bekijken.</p>
<span class="tekst">
<?php
include ('auth.php');
include ('date.php');
if (!$txt_datum) {
$txt_begindatum = krijgdatum(0);
$txt_einddatum = krijgdatum(7);
$txt_datum = $txt_begindatum;
} else {
$txt_begindatum=$txt_datum;
$txt_einddatum = vermeerder_week($txt_begindatum);
}
echo "<br>";
echo "<table width=100% border=1 cellspacing='2' cellpadding='2' align=center bordercolor=#FF6600>";
echo "<tr>";
echo "<td bgcolor=#045A73><a href=\"index.php?p=kalender&datum=".verminder_week($txt_begindatum)."\"'><center><font color=#FFFFFF>Vorige week</font></center></a></td>";
echo "<td><div align=\"center\">";
echo $txt_datum;
echo " tot ";
echo $txt_einddatum;
echo "</div>";
echo "</td>";
echo "<td bgcolor=#045A73><a href=\"index.php?p=kalender&datum=".vermeerder_week($txt_begindatum)."\"><center><font color=#FFFFFF>Volgende week</font></center></a></td>";
echo "</tr>";
echo "</table>";
$txt_begindatum = verminder_week($txt_begindatum);
echo "<br>";
echo "<table width=100% border=1 cellspacing='2' cellpadding='2' align=center bordercolor=#FF6600>";
echo "<tr>";
echo "<td width=22%><font color=#000000><div align=center>Datum</font></td>";
echo "<td width=18%><font color=#000000><div align=center>Beginuur</font></td>";
echo "<td width=11%><font color=#000000><div align=center>Einduur</font></td>";
echo "<td width=59%><font color=#000000><div align=center>Activiteit</font></td>";
echo "</tr>";
echo "</table>";
do {
// selecteert de rijen uit de tabel
$result = mysql_query ("select * from tbl_kalender where datum =\"".$txt_datum."\"");
while ($row = mysql_fetch_array ($result)){
// zolang hij rijen vindt drukt hij ze af in een tabel
echo "<table width=100% border=1 cellspacing=5 cellpadding=4 align=center bordercolor=#FF6600>";
echo "<tr>";
echo "<td width=22%><div align=center>".$row["datum"]."</div><br></td>";
echo "<td width=18%><div align=center>".$row["beginuur"]."</div><br></td>";
echo "<td width=11%><div align=center>".$row["einduur"]."</div><br></td>";
echo "<td width=49%><div align=left>".$row["activiteit"]."</div><br></td>";
echo "</tr>";
echo "</table>";
}
$txt_datum=vermeerder_dag($txt_datum);
} while ($txt_datum != $txt_einddatum);
?>
</span><p></p>
<form name="form1" method="post" action="index.php?p=kalender_insert">
<input name="Submit" type="submit" class="formuliervelden" value="Voeg agendapunten toe">
</form>
</table>
Verder iser nog een code voor het invoegen van berichten. maar dit werkt.
Alvast bedankt
794 views