Hallo zusammen,
ich erstelle gerade ein Terminverplanungstool mit PHP.
Ich erstelle eine Tabelle wo links die Namen stehen sollen und nach recht die Zeiten und wo die Namen ein Termin haben oder nicht.
Jetzt ist es so das mein Tool die Namen und die Termine einträgt aber hinter den Terminen manchmal die Zeit nicht mehr stimmt und deshalb die folgenden Termine nicht stimmen.
Der Termin wird in einer Datenbank gespeichert und das Datum/Zeit als Timestamp.
Ich geb euch mal das Script:
Und so sieht es aus:
Im ersten Screen sieht man den Anfang der geht
Aber dann danach wo auch immer der Termin eingetragen wird sieht man das die Zeit danach nach dem Termin nicht mehr analog stimmt.
Ich hoffe ich konnte gut erklären was ich mein.
Eventuell liegt irgendwo ein Denkfehler an meinem Script.
Irgendwie muss ich sauber die Zeit überbrücken was ich als "colspan" für die Tabelle als Termin nutzen will. Aber das Script muss sauber weiterlaufen.
Mit: $temp_var = (($termine_daten->end_datum - $termine_daten->start_datum)/60/15);
errechne ich die Anzahl der Viertelstunden zwischen start und ende und trage das als Colspan ein. Funktioniert ja auch aber naja...nicht immer.
Könnt ihr mir helfen?
Danke!
Gruß, Picard
ich erstelle gerade ein Terminverplanungstool mit PHP.
Ich erstelle eine Tabelle wo links die Namen stehen sollen und nach recht die Zeiten und wo die Namen ein Termin haben oder nicht.
Jetzt ist es so das mein Tool die Namen und die Termine einträgt aber hinter den Terminen manchmal die Zeit nicht mehr stimmt und deshalb die folgenden Termine nicht stimmen.
Der Termin wird in einer Datenbank gespeichert und das Datum/Zeit als Timestamp.
Ich geb euch mal das Script:
PHP-Code:
$zeit_array = array(":00",":15",":30",":45");
<table class="table_main" cellpadding="1" cellspacing="1">
<tr>
<td class="table_oben">Techniker</td>
<?php
for($begin_start = 8; $begin_start<=18; $begin_start++) // Schleife für die Stunden
{
for($count_zeit = 0; $count_zeit<=3; $count_zeit++) // Schleife für die Minuten
{
$zeit_temp = $begin_start.$zeit_array[$count_zeit];
echo '<td class="table_oben"><b>'.$zeit_temp.'</b></td>';
if($begin_start == 18){break;}
}
}
$temp = "0";
?>
</tr>
<?php
$techniker = "SELECT * FROM ta_users";
$techniker_ergebnis = mysql_query($techniker);
while($techniker_daten = mysql_fetch_object($techniker_ergebnis)) // +++ AUSGABE VON TERMIN
{
$temp_var = "0";
echo '<tr>';
echo '<td>'.$techniker_daten->vorname.' '.$techniker_daten->name.'</td>';
for($table_start = 8; $table_start<=18; $table_start++) // Schleife für die Stunden
{
for($count_zeit = 0; $count_zeit<=3; $count_zeit++) // Schleife für die Minuten
{
$table_temp = $table_start.$zeit_array[$count_zeit]; //Zeit zusammenbauen
$termin_zeit_temp = strtotime($jahr."-".$monat."-".$tag." ".$table_temp);// Generieren TIMESTAMP
$start_termin = strtotime($jahr."-".$monat."-".$tag." 00:00");// Generieren TIMESTAMP
$termine = "SELECT * FROM ta_termine WHERE id_technik = '$techniker_daten->id' AND start_datum = '$termin_zeit_temp' ORDER BY start_datum";
$termine_ergebnis = mysql_query($termine);
if(mysql_num_rows($termine_ergebnis) == 0) // ++++ WENN KEIN TERMIN VORHANDEN
{
echo "<td onmouseover=\"style.border='2px solid #9A1C8E'\"
onmouseout=\"style.border='1px solid #D5DCF5'\" class=\"table_unten_leer\">
<div onclick=\"window.location='ta_eintrag_termin.php?termin=".$termin_zeit_temp."&technik=".$techniker_daten->id."'\"
onmouseover=\"style.color='#C619A6'\"
onmouseout=\"style.color='#EFF0FA'\">".$table_temp."</div></td>";
//echo '<td class="table_unten" >frei</td>';
}
else
{
$termine_daten = mysql_fetch_object($termine_ergebnis);
if ($termin_zeit_temp >= $termine_daten->start_datum && $termin_zeit_temp < $termine_daten->end_datum)
{
$temp_var = (($termine_daten->end_datum - $termine_daten->start_datum)/60/15);
echo '<td class="table_unten" colspan="'.$temp_var.'">
<b><font color="#FF0000" >'.date("H:i", $termine_daten->start_datum).' - '.date("H:i", $termine_daten->end_datum).'</font></b></td>';
$count_zeit = $count_zeit+$temp_var;
}
else
{
$temp_var = "0";
echo "<td onmouseover=\"style.border='2px solid #9A1C8E'\" onmouseout=\"style.border='1px solid #D5DCF5'\" class=\"table_unten_leer\">
<div onclick=\"window.location='ta_eintrag_termin.php?termin=".$termin_zeit_temp."&technik=".$techniker_daten->id."'\" onmouseover=\"style.color='#C619A6'\"
onmouseout=\"style.color='#EFF0FA'\">+</div></td>";
}
}
if($table_start == 18){break;}
}//Ende FOR Minuten
}//Ende FOR Stunden
echo '</tr>';
}
?>
</table>
Im ersten Screen sieht man den Anfang der geht
Aber dann danach wo auch immer der Termin eingetragen wird sieht man das die Zeit danach nach dem Termin nicht mehr analog stimmt.
Ich hoffe ich konnte gut erklären was ich mein.
Eventuell liegt irgendwo ein Denkfehler an meinem Script.
Irgendwie muss ich sauber die Zeit überbrücken was ich als "colspan" für die Tabelle als Termin nutzen will. Aber das Script muss sauber weiterlaufen.
Mit: $temp_var = (($termine_daten->end_datum - $termine_daten->start_datum)/60/15);
errechne ich die Anzahl der Viertelstunden zwischen start und ende und trage das als Colspan ein. Funktioniert ja auch aber naja...nicht immer.
Könnt ihr mir helfen?
Danke!
Gruß, Picard
Kommentar