Hi,
ich arbeite gerade an einem kleinen Termin-Modul, bei dem es möglich sein soll durch die KWs durchzuklicken und dann sollen einem aus der Datenbank Termine ausgegeben werden, die in genau dieser KW eingetragen sind..
Ich habe es nun so gemacht, dass in der MySQL-Tabelle eine Spalte "kw" ist, in der die Kalenderwoche eingetragen wird, allerdings ergab sich hier relativ schnell das Problem, dass hier das Jahr nicht berücksichtigt wurde. Das heißt man konnte nur im aktuellen Jahr Termine angucken und falls ein neues Jahr anbrechen würde, würde man die ganzen Termine des alten Jahres noch einmal bekommen.
Jetzt weiß ich nicht, wie man das Jahr in die Rechnung noch mit reinbringen sollte. Mit einer neuen Spalte "jahr"? Oder lässt sich das in der SQL-Query machen?
Hier mein bisheriger Code:
Edit: Ebenfalls ein Problem ist, dass nicht jedes Jahr 52 KWs hat.
ich arbeite gerade an einem kleinen Termin-Modul, bei dem es möglich sein soll durch die KWs durchzuklicken und dann sollen einem aus der Datenbank Termine ausgegeben werden, die in genau dieser KW eingetragen sind..
Ich habe es nun so gemacht, dass in der MySQL-Tabelle eine Spalte "kw" ist, in der die Kalenderwoche eingetragen wird, allerdings ergab sich hier relativ schnell das Problem, dass hier das Jahr nicht berücksichtigt wurde. Das heißt man konnte nur im aktuellen Jahr Termine angucken und falls ein neues Jahr anbrechen würde, würde man die ganzen Termine des alten Jahres noch einmal bekommen.
Jetzt weiß ich nicht, wie man das Jahr in die Rechnung noch mit reinbringen sollte. Mit einer neuen Spalte "jahr"? Oder lässt sich das in der SQL-Query machen?
Hier mein bisheriger Code:
PHP:
//Welche KW will gesehen werden?
if (isset($_GET["kw"])) {
if (is_numeric($_GET["kw"])) {
$kw = htmlentities($_GET["kw"], ENT_QUOTES, 'UTF-8');
} else {
$kw = date("W");
}
} else {
$kw = date("W");
}
//Javascript
echo'
<script>
$("#kw_back").click(function() {
$("#termine").load("/termine.php?kw='.($kw-1).'");
})
$("#kw_vor").click(function() {
$("#termine").load("termine.php?kw='.($kw+1).'");
})
</script>
';
//SQL
$sql = $db->prepare("
SELECT
id,
titel,
anfang,
ende,
switch
FROM termine
WHERE kw = ?
ORDER BY anfang
");
$sql->bind_param('i', $kw);
$sql->execute();
$sql->store_result();
$sql->bind_result($id, $titel, $anfang, $ende, $switch);
if ($sql->num_rows == 0) {
echo'
<button id="kw_back">Zurück</button>
<span>KW '.$kw.'</span>
<button id="kw_vor">Vor</button>
<br>
Keine Termine in dieser Kalendarwoche eingetragen.
';
} else {
echo'
<button id="kw_back">Zurück</button>
<span>KW '.$kw.'</span>
<button id="kw_vor">Vor</button>
<br>
';
while ($sql->fetch()) {
echo'
<b>'.$titel.'</b>: Anfang: '.date('d.m.Y', strtotime($anfang)).' | Ende: '.date('d.m.Y', strtotime($ende)).'
<hr>
';
}
}
Edit: Ebenfalls ein Problem ist, dass nicht jedes Jahr 52 KWs hat.
Zuletzt bearbeitet: