Ich habe auf unserer Vereinshomepage http://www.weisachtaler-blasmusik.de/start.php eine Terminverwaltung eingebaut. Dabei sind die Tage an denen ein Termin stattfindet farblich hervorgehoben. Beim MouseOver sollen die Infos zu dem Termin per ToolTip angezeigt werden. Schaut's euch am besten mal an!
Während das ganze im Firefox und Opera problemlos funktioniert, macht der IE nicht mit!
Die Tooltips sollen durch CSS dargestellt werden und basieren auf das Beispiel von http://www.ohne-css.gehts-gar.net/0012.php
Komischerweise funktioniert auf dieser Seite der Tooltip auch im IE.
Ich finde aber meinen Fehler nicht. Vielleicht findet ihr ihn ja. Ich bitte um Hilfe.
Hier mein verkürzter Quellcode der kalendertooltip.php:
In der Fallunterscheidung wird im 1. Fall ein Tooltip erzeugt, weil für den aktuellen Tag ein Termin vorhanden ist.
Während das ganze im Firefox und Opera problemlos funktioniert, macht der IE nicht mit!
Die Tooltips sollen durch CSS dargestellt werden und basieren auf das Beispiel von http://www.ohne-css.gehts-gar.net/0012.php
Komischerweise funktioniert auf dieser Seite der Tooltip auch im IE.
Ich finde aber meinen Fehler nicht. Vielleicht findet ihr ihn ja. Ich bitte um Hilfe.
Hier mein verkürzter Quellcode der kalendertooltip.php:
In der Fallunterscheidung wird im 1. Fall ein Tooltip erzeugt, weil für den aktuellen Tag ein Termin vorhanden ist.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="de">
<head>
...
<style type="text/css">
div.info{
position:relative;
z-index:11;
text-decoration:none;
}
div.info:hover{
z-index:12;
}
div.info span{
display: none;
}
div.info:hover span{
display:block;
position:absolute;
top:2em;
left:2em;
width:20em;
border:1px solid #12127D;
color:#000;
text-align: left;
padding: 5px;
}
</style>
<body>
...
<?php
// *** START Monatskalender ***
// ... Kalenderkopf wird generiert
/**
* Termine aus der Datenbank holen
*/
// Verbindung zu Datenbank herstellen
$db = new mysqli("host", "nutzername", "passwort", "datenbankname");
if(mysqli_connect_errno())
die(mysqli_connect_error());
if($result = $db->query("select DATE_FORMAT(Datum, '%d'), DATE_FORMAT(Datum, '%d.%m.%y'), DATE_FORMAT(Datum, '%H.%i' ), Ort, Bezeichnung, Beschreibung, Farbe from wbmtermin t1, wbmterminart t2 where t1.ArtNr=t2.ArtNr ORDER BY Datum"))
{
$i = 0;
$arrayzaehler = 0;
while($data = $result->fetch_array(MYSQLI_BOTH))
{
$tage[$i]=$data["0"];
$farbe[$i] =$data["Farbe"];
$taginfo[$i] =$data["1"];
$zeitinfo[$i] =$data["2"];
$ort[$i] =$data["Ort"];
$bez[$i] =$data["Bezeichnung"];
$beschreibung[$i] =$data["Beschreibung"];
$i++;
}
$result->close();
}
$db->close();
// Füllung der Kalendertabelle: i ist der aktuell einzutragende Tag
$i=1;
while($i<=$insgesamt)
{
// Ermitlung des Wochentags für den Tag i
$rest=($i+$erster-1)%7;
// erstmalige Unterscheidung zwecks Layout Heute oder nicht!
if($i==$heute){
echo "<td style=\"font-size:11px; font-family:Arial; background:#ff0000;\" align=center>";
// Wenn es an diesem Tag einen Termin gibt muss der Array-Zähler erhöht werden
if($tage[$arrayzaehler] == $i){
$arrayzaehler++;
}
}
// nicht heute
else{
// Nur wenn Termine für diesen Monat vorhanden sind wird in diese Schleife gesprungen
if($tage[0]!=""){
// 1. Fall: Für den aktuellen Tag i ist ein Termin vorhanden -> Tooltip erzeugen!
if($tage[$arrayzaehler] == $i){
echo "<td style=\"font-size:11px; font-family:Arial; background:".$farbe[$arrayzaehler].";\" align=center>";
echo "<div class=\"info\">";
}
// 2. Fall: Für den aktuellen Tag i ist kein Termin vorhanden
else{
echo "<td style=\"font-size:11px; font-family:Arial\" align=center>";
}
}
// Es sind keine Termine mehr in diesem Monat vorhanden
else{
echo "<td style=\"font-size:11px; font-family:Arial\" align=center>";
}
}
// Prüfe ob Termine für diesen Tag vorhanden sind. Dann wird der Tooltip angezeigt!
if($tage[0]!=""){
//Für den aktuellen Tag i ist ein Termin vorhanden
if($tage[$arrayzaehler] == $i){
echo "<span style=\"background-color:".$farbe[$arrayzaehler].";\"><b>Datum: </b>".$taginfo[$arrayzaehler].", ".$zeitinfo[$arrayzaehler]." Uhr<br/><b>Ort:</b> ".$ort[$arrayzaehler]."<br/><b>Bez.:</b> ".$bez[$arrayzaehler];
if($beschreibung[$arrayzaehler] != null) {
echo "<br/><b>Info:</b><br/>".$beschreibung[$arrayzaehler];
}
echo "</span></div>";
$arrayzaehler++;
}
}
// Schließen der Zellen
echo "</td>\n";
// neue Zeile einfügen
if($rest==0){
echo "</tr>\n<tr>\n";
}
$i++;
}
echo "</tr>\n";
echo "</table>\n";
// *** ENDE Monatskalender ***
?>
</td></tr>
</table>
</body>
</html>