hallo zusammen
ich bin gerade mit dem programmieren eines terminkalenders nach dem (wie ich finde, guten) tutorial beschäftigt (php-kurs.com/script-php-terminkalender-mit-mysql.htm)...
funktioniert auch so weit. aber ich will das jetzt erweitern, damit auch Tage in der Tabelle erscheinen, an denen keine termine stattfinden. diese tage sollen also einfach nichts in der tabelle stehen haben.
das sichtbare ergebnis wird dann im endeffekt ein ganzer monat sein, ungeachtet davon, ob termine stattfinden...
rahmenbedingungen:
es besteht eine datenbank auf phpmyadmin.
diese heißt "raumbelegt" und besitzt die spalten
ID, Datum, Uhrzeit, titel, beschreibung, User, Raum...
ich hab mich also so gut wie möglich an das tut gehalten, aber weiß nicht, wie ich das oben geschilderte da einbauen kann...
vllt könnt ihr mir helfen?!!
das wär super!
lg
armin
hier der link:
<!-- m --><a class="postlink" href="http://webprogramming.scieron.com/user9/terminanzeige.php">http://webprogramming.scieron.com/user9 ... nzeige.php</a><!-- m -->
hier der bisherige code:
<?php
require ('terminkonfig.php');
$db_sel = mysql_select_db( MYSQL_DATENBANK )
or die("Auswahl der Datenbank fehlgeschlagen");
// Speichern neuer Daten
if ( $_POST['vorgang'] == 'neu' )
{
speichere_daten ( $_POST['termin'] );
}
// Löschen von Einträgen
if ( $_GET['vorgang'] == 'loeschen' )
{
loeschen_daten ( $_GET['id'] );
}
// Daten zum Ändern anzeigen
if ( $_GET['vorgang'] == 'aendern' AND $_POST['vorgang'] <> 'update' )
{
anzeige_daten_zum_bearbeiten ( $_GET['id'] );
}
if ( $_POST['vorgang'] == 'update' )
{
update_daten ( $_POST['termin'] );
}
// wenn ein Monat angegeben ist, wird die Echtheit der Daten überprüft
if ( $_GET['monat'] )
{
if ( (INT) $_GET['monat'] > 0 AND (INT) $_GET['
monat'] < 13 )
{
$monat = (INT) $_GET['monat'];
}
else
{
// ist kein Monat angegeben, wird der aktuelle Monat verwendet
$monat = date("n");
}
}
else
{
// ist kein Monat angegeben, wird der aktuelle Monat verwendet
$monat = date("n");
}
if ( $_GET['jahr'] )
{
if ( (INT) $_GET['jahr'] > 0 AND (INT) $_GET['jahr'] < 3000 )
{
$jahr = (INT) $_GET['jahr'];
}
else
{
$jahr = date("Y");
}
}
else
{
$jahr = date("Y");
}
//Monatsformatierung
if ($monat==1){$monatform = Januar ;}
else if ($monat == 2) {$monatform = Februar;}
else if ($monat == 3) {$monatform = März;}
else if ($monat == 4) {$monatform = April;}
else if ($monat == 5) {$monatform = Mai;}
else if ($monat == 6) {$monatform = Juni;}
else if ($monat == 7) {$monatform = Juli;}
else if ($monat == 8) {$monatform = August;}
else if ($monat == 9) {$monatform = September;}
else if ($monat == 10) {$monatform = Oktober;}
else if ($monat == 11) {$monatform = November;}
else {$monatform = Dezember;}
// Ausgabe vom Monat und dem Jahr
echo "<h1>Kalender $monatform $jahr</h1>";
$sql = "
SELECT
id, datum, uhrzeit, titel, beschreibung, user, raum
FROM raumbelegt
WHERE
YEAR(datum) = '$jahr'
AND
MONTH(datum) = '$monat'
ORDER BY datum
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
$anzahl_eintraege = mysql_num_rows($db_erg);
echo "<p>Anzahl der Einträge: $anzahl_eintraege</p>";
// Ausgabe Tabelle mit Terminen
echo '<table border="1">';
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo '<tr>';
echo '<td>'. $zeile['datum'] . '</td>';
echo '<td>';
echo '<b>'. $zeile['titel'] . '</b><br />';
echo $zeile['beschreibung'];
echo '</td>';
echo '<td>';
echo '<a href="terminanzeige.php?vorgang=loeschen&id=';
echo $zeile['id'];
echo '">löschen</a> ';
echo '</td>';
echo '<td>';
echo '<a href="terminanzeige.php?vorgang=aendern&id=';
echo $zeile['id'];
echo '">ändern</a> ';
echo '</td>';
echo '</tr>';
}
echo '</table>';
mysql_free_result( $db_erg );
// Vormonat Kontrolle, ob bereits Januar
if ( $monat == 1 )
{
$vmonatdiffernz = 1;
$vmonat = 12;
$vjahr = $jahr-1;
}
else
{
$vmonat = $monat - 1 ;
$vjahr = $jahr;
}
echo '<a href="terminanzeige.php';
echo '?monat='. $vmonat;
echo '&jahr='. $vjahr;
echo '">Vormonat</a>';
echo ' | ';
echo '<a href="terminanzeige.php';
echo '?monat='. date("n");
echo '&jahr='. date("Y");
echo '">akt. Monat</a>';
echo ' | ';
// nächster Monat - Kontrolle, ob bereits Dezember
if ( $monat == 12 )
{
$nmonat = 1;
$njahr = $jahr + 1;
}
else
{
$nmonat = $monat+1;
$njahr = $jahr;
}
echo '<a href="terminanzeige.php';
echo '?monat='. $nmonat;
echo '&jahr='. $njahr;
echo '">nächster Monat</a>';
// Anzeige Formular
echo '<hr />';
echo '<form name="" action="" method="POST" enctype="text/html">';
echo '<p>Datum in der Form JJJJ-MM-TT<br />';
echo '<input type="text" name="termin[datum]" value="" size="10" maxlength="10" />';
echo '</p>';
echo '<p>Kurzbeschreibung<br />';
echo '<input type="text" name="termin[kurzbeschreibung]" value="" size="50" maxlength="255" />';
echo '</p>';
echo '<p>ausführliche Beschreibung<br />';
echo '<textarea name="termin[beschreibung]" rows="10" cols="80"></textarea></p>';
echo '<input type="hidden" name="vorgang" value="neu" />';
echo '<input type="Submit" name="" value="speichern" />';
echo '</form>';
// Daten speichern
function speichere_daten ( $termin )
{
// hier sollte noch eine Validierung des Datums stattfinden
$sql = "INSERT INTO termine
(
`id`, `datum` , `uhrzeit` , `titel` , `beschreibung` , `user` , `raum`
)
VALUES
(
NULL ,
'". $termin['datum'] ."',
'". $termin['kurzbeschreibung'] ."',
'". $termin['beschreibung'] ."'
)
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die("Ungültige Abfrage: $sql <hr />" . mysql_error());
}
else
{
echo "<h2>Termin gespeichert</h2>";
}
}
function loeschen_daten ( $id ) {
$sql = "DELETE FROM termine
WHERE id='$id'
LIMIT 1
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die("Ungültige Abfrage: $sql <hr />" . mysql_error());
}
else
{
echo "<h2>Termin gelöscht</h2>";
}
}
function anzeige_daten_zum_bearbeiten ($id)
{
$sql = "
SELECT *
FROM termine
WHERE id = '$id'
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
$zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC);
echo '<form name="" action="" method="POST" enctype="text/html">';
echo '<p>Datum in der Form JJJJ-MM-TT<br />';
echo '<input type="text" name="termin[datum]" value="';
echo $zeile['datum'];
echo '" size="10" maxlength="10" />';
echo '</p>';
echo '<p>Kurzbeschreibung<br />';
echo '<input type="text" name="termin[kurzbeschreibung]" value="';
echo $zeile['titel'];
echo '" size="50" maxlength="255" />';
echo '</p>';
echo '<p>ausführliche Beschreibung<br />';
echo '<textarea name="termin[beschreibung]" rows="10" cols="80">';
echo $zeile['beschreibung'];
echo '</textarea></p>';
echo '<input type="hidden" name="termin[id]" value="';
echo $zeile['id'];
echo '" />';
echo '<input type="hidden" name="vorgang" value="update" />';
echo '<input type="Submit" name="" value="Änderungen speichern" />';
echo '</form>';
echo '<hr />';
}
// Daten updaten
function update_daten ( $termin )
{
// hier sollte noch eine Validierung des Datums stattfinden
$sql = "UPDATE termine SET
`datum` = '". $termin['datum'] ."',
`titel` = '". $termin['kurzbeschreibung'] ."',
`beschreibung` = '". $termin['beschreibung'] ."'
WHERE
id = '". $termin['id'] ."'
";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die("Ungültige Abfrage: $sql <hr />" . mysql_error());
}
else
{
echo "<h2>Termin geupdatet</h2>";
}
}
?>
Alles anzeigen