Hallo zusammen,
benötige dringend euere Hilfe!
Meine MySQL-Tabelle hat folgende Struktur: name, monat, jahr, std, abteilung
Zum Problem was Chefin gerne haben möchte:
- es sollen 12 <table> nebeneinander angezeigt werden (1. steht für Monat Januar .....)
- in jeder sollen die einzelnen Abteilungen alphabetisch sortiert sein
- für jede Abteilung sollen die monatlichen Stunden als Gesamtsumme angezeigt werden
Bis jetzt schaffe ich es nur das ganze für ein Monat auszugeben. Den Quellcode kann ich bei Bedarf morgen noch posten.
Wäre nett wenn mir einer helfen könnte (ist wirklich dringend).
Herzliche Dank!
Gruss raini_neo
Code:
benötige dringend euere Hilfe!
Meine MySQL-Tabelle hat folgende Struktur: name, monat, jahr, std, abteilung
Zum Problem was Chefin gerne haben möchte:
- es sollen 12 <table> nebeneinander angezeigt werden (1. steht für Monat Januar .....)
- in jeder sollen die einzelnen Abteilungen alphabetisch sortiert sein
- für jede Abteilung sollen die monatlichen Stunden als Gesamtsumme angezeigt werden
Bis jetzt schaffe ich es nur das ganze für ein Monat auszugeben. Den Quellcode kann ich bei Bedarf morgen noch posten.
Wäre nett wenn mir einer helfen könnte (ist wirklich dringend).
Herzliche Dank!
Gruss raini_neo
Code:
PHP:
<?
$today = getdate();
$curryear = $today['year'];
$_POST[month_id1] = "3";
$_POST[month_id2] = "3";
$_POST[year_id] = "2012";
$query = "SELECT my_tc_ueberstunden2.month, my_tc_ueberstunden2.year, my_tc_ueberstunden2.username, my_tc_ueberstunden2.ueberstunden, ";
$query.= "my_tc_ueberstunden2.zuschlag, my_tc_ueberstunden2.mittag, my_tc_groups.description, my_tc_users.lastname, my_tc_users.firstname ";
$query.= "FROM ((my_tc_ueberstunden2 INNER JOIN my_tc_user_group ON my_tc_ueberstunden2.username = my_tc_user_group.username) ";
$query.= "INNER JOIN my_tc_groups ON my_tc_user_group.groupname = my_tc_groups.groupname) INNER JOIN my_tc_users ON my_tc_ueberstunden2.username = my_tc_users.username ";
$query.= "GROUP BY my_tc_ueberstunden2.month, my_tc_ueberstunden2.year, my_tc_ueberstunden2.username, my_tc_ueberstunden2.ueberstunden, ";
$query.= "my_tc_ueberstunden2.zuschlag, my_tc_ueberstunden2.mittag, my_tc_groups.description, my_tc_users.lastname ";
$query.= "HAVING (((my_tc_ueberstunden2.month) Between '".$_POST[month_id1]."' And '".$_POST[month_id2]."') AND ((my_tc_ueberstunden2.year)='".$_POST[year_id]."')) ";
$query.= "ORDER BY my_tc_groups.description, my_tc_users.lastname, my_tc_ueberstunden2.month ";
$result = mysql_query($query);
echo "<strong>Gesamtübersicht aufgelaufene Überstunden je Abteilung von Monat ".$_POST[month_id1]." bis Monat ".$_POST[month_id2]." / ".$_POST[year_id]."</strong>";
echo "<br><br>";
$tmp = null;
echo "<table>";
while( $row = mysql_fetch_assoc($result) ) {
if( $tmp != $row['description'] ) {
// Gruppe abgeschlossen dann Gesamtwert
if( !is_null($tmp) ) {
echo "<tr>";
echo "<td colspan='3'><hr></td>";
echo "<tr>";
echo "<td div align='center' colspan='4'><strong>aufgelaufende Überstunden: ".sprintf("%01.2f",array_sum($gesamt))."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='3'><hr></td>";
echo "<tr>";
echo "<tr><td> </td></tr>";
unset($gesamt);
}
$tmp = $row['description'];
// Ausgabe Gruppenname
echo "<tr>";
echo "<td div align='center' colspan='2'><strong><font color='red'>*** ".$row['description']." ***</font></strong></td>";
echo "</tr>";
}
// Ausgabe Name + Stunden
echo "<tr>";
echo "<td>".$row['lastname'].", ".$row['firstname']."</td>";
echo "<td div align='right'>".$row['month']."/".$row['year']."</td>";
echo "<td div align='right'>".sprintf("%01.2f",$row[ueberstunden]+$row[zuschlag]+$row[mittag])."</td>";
echo "</tr>";
$gesamt[] = sprintf("%01.2f",$row[ueberstunden]+$row[zuschlag]+$row[mittag]);
}
// Gruppe abgeschlossen dann Gesamtwert
if( !is_null($tmp) ) {
echo "<tr>";
echo "<td colspan='3'><hr></td>";
echo "<tr>";
echo "<td div align='center' colspan='4'><strong>aufgelaufende Überstunden: ".sprintf("%01.2f",array_sum($gesamt))."</strong></td>";
echo "</tr>";
echo "<tr>";
echo "<td colspan='3'><hr></td>";
echo "<tr>";
echo "<tr><td> </td></tr>";
unset($gesamt);
}
echo "</table>";
?>
Zuletzt bearbeitet: