letzter beitrag zählt
Wochenzahl
Einklappen
X
-
Wochenchaos
Also ich versuch hier ein paar dinge aus ner Datenbank auszulesen. erstmal worum es dabei geht.
Die Angestellten in einem Geschäft können das was sie getan haben in ein Formular eintragen (mit Bearbeitsungszeit).
das kommt in eine Datenbank(id,AngestelltenID,Bearbeitungszeit in Stunden,Tätigkeit,Datum). das funktioniert auch.
So jetzt zum Problem.
Das auslesen wäre ja leicht wenn ich es nicht Wochenweise tun müsste. also das sol so aussehen das der Angestellte
in einer anzeige sieht wieviel Stunden er diese Woche schon gearbeitet hat.
Ich schaff es einfach nicht das die Stunden immer nur pro Woche zusammengezählt werden und ausgelsen werden.
Also hier kommt mein etwas komplizierter und nicht gerade eleganter Ansatz XD ich hoff mir kann jemand helfen:
PHP-Code:#Größtes Datum selektieren
$dat = "SELECT MAX(datum) as dat FROM ".table21." WHERE a_id = ".$_SESSION['sess_aid']."";
$resdat = mysql_query($dat);
while($neu = mysql_fetch_assoc($resdat))
{
$wzaktuell = date("W",$neu['dat']);
$tz = date("w",$neu['dat']);
$datumneu = $neu['dat'];
}
if($tz == "1")
{
$woche = $datumneu + 604800;
}
#zweitgrößtest Datum selektierung
$sql = "SELECT datum FROM ".table21." WHERE a_id = ".$_SESSION['sess_aid']." ORDER BY datum DESC LIMIT 1,1";
$res = mysql_query($sql);
while($alt = mysql_fetch_assoc($res))
{
$wzalt = date("W",$alt['datum']);
$datumalt = $alt['datum'];
}
#wenn die Wochenzahl des größten Datums größer ist als die des zweitgrößten Datums ist eine neue Woche angebrochen also:
#Selektierung der Stunden im Zeitraum der neuangebrochenen Woche bis zur nächsten Woche
if($wzaktuell > $wzalt && $tz == "1")
{
$check = "SELECT SUM(a_stu) as zeit FROM ".table21." WHERE a_id = ".$_SESSION['sess_aid']."
AND datum >= ".$datumneu." AND datum <= ".$woche."";
$rescheck = mysql_query($check);
}
elseif($wzaktuell == $wzalt)
{
switch($tz)
{
case "0": $tag = 604800;
break;
case "1": $tag = 518400;
break;
case "2": $tag = 432000;
break;
case "3": $tag = 345600;
break;
case "4": $tag = 259200;
break;
case "5": $tag = 172800;
break;
case "6": $tag = 86400;
break;
}
$woche = $wzaktuell + $tag;
#Selektierung der Stunden für die aktuelle noch nicht beendete Woche
$check = "SELECT SUM(a_stu) as zeit FROM ".table21." WHERE a_id = ".$_SESSION['sess_aid']."
AND datum >= ".$datumneu." AND datum <= ".$woche."";
$rescheck = mysql_query($check);
}
Lurchi ! Lurchi ! Lurchi !
Kommentar
-
- Off Topic -
Bitte lösche doch deine Eingangsposts nicht mehr, denn es gibt viele hier (mich eingeschlossen) die keine Lust haben extra runterzuscrollen um zu lesen was dann - in diesem Falle - dein letztes Problem war..
mfg nOe"I am what I am and I do what I can..."
Meine HP -- Mein GPG-Key
Meine Projekte: WebStorage 2.0 -- easyAJAX-Chat 2.2.0 (beta)
Kommentar
Kommentar