Hallo zusammen,
ich bin seit einiger Zeit dabei ein kleines Tool zur Anzeige von Seminaren zu programmieren. Das ganze soll im Web verfügbar sein und daher schreibe ich es in PHP mit MySQL.
Ist soweit auch schon recht weit fortgeschritten, jedoch brauche ich mal kreative Hilfe. Mein Problem besteht darin, dass ich nicht genau weiß wie ich den Kalender aufbauen kann.
Aussehen soll der Kalender etwa so
Bisher habe ich sowas hier
Die Tabelle für die Seminare:
CREATE TABLE `seminare` (
`seminar_id` int(11) NOT NULL auto_increment,
`seminar_name` varchar(100) NOT NULL default '',
`seminar_platz` varchar(10) NOT NULL default '',
`seminar_aktiv` tinyint(1) NOT NULL default '0',
`seminar_date` int(11) NOT NULL default '0',
`seminar_date_von` int(11) NOT NULL default '0',
`seminar_date_bis` int(11) NOT NULL default '0',
PRIMARY KEY (`seminar_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
name => Seminarname
platz => Anzahl Plätze
aktiv => ob das Seminar aktiv oder gesperrt wurde
date => wann es erstellt wurde
date_von => von wann das seminar aktiv ist (Timestamp)
date_bis => bis welchem Datum es aktiv ist (Timestamp)
Tabele für die Seminar Teilnehmer:
CREATE TABLE `seminar_user` (
`usr_id` int(11) NOT NULL auto_increment,
`usr_name` varchar(70) NOT NULL default '',
`usr_vorname` varchar(70) NOT NULL default '',
`usr_kdnr` varchar(50) NOT NULL default '',
`usr_tele` varchar(50) NOT NULL default '',
`usr_infos` varchar(255) NOT NULL default '',
`usr_datum` int(11) NOT NULL default '0',
`usr_tage` varchar(10) NOT NULL default '',
`usr_seminiar` int(11) NOT NULL default '0',
PRIMARY KEY (`usr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
Alles anzeigen
usr_datum => beginn seminar teilnahme (Timestamp)
usr_tage => ende seminar teilnahme (Timestamp)
Die Öberfläche zum verwalten ist soweit schon fertig ich brauche nur ein bisschen Hilfe bei dem Kalender.
Wie kann ich es am besten machen, die Daten der Teilnehmer in den Kalender darstellen zu lassen.
Die Kalenderansicht baue ich bisher wie folgt auf:
<?php
include "include/global.php";
$content = "";
$error = "";
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
$content .= "<center><h2>Kalender</h2><br/>";
$a1 = "";$a2 = "";$a3 = "";$a4 = "";$a5 = "";$a6 = "";$a7 = "";$a8 ="";
$a9 = "";$a10 = "";$a11 = ""; $a12 = "";
if(isset($_POST['submit']))
{
$aktuell_jahr = $_POST['jahr'];
$monat = $_POST['monat'];
$aktueller_monat = $monat;
$seminar_select_id = $_POST['seminar'];
}
else
{
$timestamp = time();
$aktueller_monat = date("n",$timestamp);
$aktuell_jahr = "";
$seminar_select_id = '';
}
if($aktueller_monat == 01) { $a1 = "selected='selected'"; }
if($aktueller_monat == 02) { $a2 = "selected='selected'"; }
if($aktueller_monat == 03) { $a3 = "selected='selected'"; }
if($aktueller_monat == 04) { $a4 = "selected='selected'"; }
if($aktueller_monat == 05) { $a5 = "selected='selected'"; }
if($aktueller_monat == 06) { $a6 = "selected='selected'"; }
if($aktueller_monat == 07) { $a7 = "selected='selected'"; }
if($aktueller_monat == 08) { $a8 = "selected='selected'"; }
if($aktueller_monat == 09) { $a9 = "selected='selected'"; }
if($aktueller_monat == 10) { $a10 = "selected='selected'"; }
if($aktueller_monat == 11) { $a11 = "selected='selected'"; }
if($aktueller_monat == 12) { $a12 = "selected='selected'"; }
$value_jahr = "";
$zeit = time();
$jahr = date("Y", $zeit);
for($I = 0; $I < 4; $I++)
{
if($aktuell_jahr == $jahr) { $value_jahr .= "<option value='$jahr' selected='selected'>$jahr</option>";}
else {$value_jahr .= "<option value='$jahr'>$jahr</option>";}
$jahr++;
}
$value_monat= "<option value='01' $a1>Januar</option>";
$value_monat.= "<option value='02' $a2>Februar</option>";
$value_monat.= "<option value='03'$a3>Maerz</option>";
$value_monat.= "<option value='04' $a4>April</option>";
$value_monat.= "<option value='05' $a5>Mai</option>";
$value_monat.= "<option value='06' $a6>Juni</option>";
$value_monat.= "<option value='07' $a7>Juli</option>";
$value_monat.= "<option value='08' $a8>August</option>";
$value_monat.= "<option value='09' $a9>September</option>";
$value_monat.= "<option value='10' $a10>Oktober</option>";
$value_monat.= "<option value='11' $a11>November</option>";
$value_monat.= "<option value='12' $a12>Dezember</option>";
$monat = "<select name='monat'>$value_monat</select>";
$jahr = "<select name='jahr'>$value_jahr</select>";
$bit = "";
foreach($db->multiQuery("SELECT seminar_name,seminar_id FROM seminare ORDER BY seminar_name ASC") as $value)
{
foreach($value as $key => $val)
$$key = $val;
if($seminar_select_id == $seminar_id) { $bit .="<option value='$seminar_id' selected='selected'>$seminar_name</option>"; }
else { $bit .="<option value='$seminar_id'>$seminar_name</option>"; }
}
$seminar = "<select name='seminar'>$bit</select>";
$content .= "
<form METHOD='POST' ACTION='calendar.php' name='submit'>
<center>
<table border='0' style='text-align: center; width: 521px; height: 26px;'
border='1' cellpadding='2' cellspacing='2'>
<tbody>
<tr>
<td style='text-align: center;'>$monat $jahr $seminar <input name='submit' type='submit'
value='Aktualisieren'/></td>
<td style='text-align: center;'></td>
</tr>
</tbody>
</table>
</center>
</form>
";
$content .= "<br />";
if(isset($_POST['submit']))
{
if($aktueller_monat == 01) { $aa = "Jan"; }
if($aktueller_monat == 02) { $aa = "Feb"; }
if($aktueller_monat == 03) { $aa = "Mar"; }
if($aktueller_monat == 04) { $aa = "Apr"; }
if($aktueller_monat == 05) { $aa = "Mai"; }
if($aktueller_monat == 06) { $aa = "Jun"; }
if($aktueller_monat == 07) { $aa = "Jul"; }
if($aktueller_monat == 08) { $aa = "Aug"; }
if($aktueller_monat == 09) { $aa = "Sep"; }
if($aktueller_monat == 10) { $aa = "Okt"; }
if($aktueller_monat == 11) { $aa = "Nov"; }
if($aktueller_monat == 12) { $aa = "Dez"; }
for($i = 0; $i < 1; $i++) {
$monat = mktime(0, 0, 0, $aktueller_monat, 1, $aktuell_jahr);
$monat_t = date("t", $monat);
}
$ausgabe_datum = "";
for($i = 1; $i < $monat_t+1; $i++)
{
$ausgabe_datum .= "
<th width='30' scope='col'>".$i.". </th>";
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$iii = 0;
$seminar_platz = $db->singleQuery("SELECT seminar_platz FROM seminare WHERE seminar_id='".$seminar_select_id."'");
$seminar_platz = $seminar_platz['seminar_platz'];
$platz_insert_neu = "";
$platz= "";
for($i = 1; $i < $seminar_platz+1; $i++)
{
$platz_insert = "";
foreach($db->multiQuery("SELECT * FROM seminar_user WHERE usr_seminiar='".$seminar_select_id."'") as $value)
{
foreach($value as $key => $val)
$$key = $val;
$usr_datum_ = date("m",$usr_datum);
$usr_tage_ = date("m",$usr_tage);
if($aktueller_monat == $usr_datum_)
{
$usr_tage_an = date("d",$usr_datum);
$usr_tage_en = date("d",$usr_tage);
if($platz_insert_neu != $platz_insert || $iii == 0)
{
$platz_insert .= "<td width='30'>$usr_name</td>";
}
elseif($platz_insert_neu == $platz_insert)
{
$platz_insert .= "";
}
}
else { $platz_insert .= ""; }
}
$platz .="
<tr>
<td width='50'>Platz $i</td>
$platz_insert
</tr>";
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$content .= "
<div style='background:#FFFFFF'>
<br /><br />
<table width='80%' border='1'>
<tr>
<td width='50'></td>
$ausgabe_datum
</tr>
$platz
</table>
<br /><br />
</div>";
}
else
{
$content .="Bitte Monat und Jahr waehlen.";
}
$content .= "</center>";
echo $content;
?>
Alles anzeigen
Sorry, wenn es nicht richtig formatiert ist, aber das ist nicht wirklich meine Stärke.
Der Kalender kann sich auf jeden Fall anhand der eingegeben Plätze des Seminars aufbauen und je nachdem welcher Monat gewählt wurde dessen Tage anzeigen.
Frage ist nur wie ich die Teilnehmerdaten jeweils anzeigen lassen kann.
So, habt ihr schon mal einen kleinen Überblick und hoffe das ihr mir bisschen helfen könnt. Freue mich auf baldige Antworten.