php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Großes Problem


 
Anbu
21-02-2007, 09:21 
 
Wahsaga ich weiß nicht warum du meinen Post gelöscht hast aber hier is er nochmal...
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:


#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);
}

 
wahsaga
21-02-2007, 09:27 
 
Original geschrieben von Anbu
Wahsaga ich weiß nicht warum du meinen Post gelöscht hast
Weil du dich idiotisch benommen hast, und meintest deine Fragen wegeditieren zu müssen, mit denen ich die neue Frage wegen ähnlicher Thematik zusammengeführt hatte. Sowas unterlässt du bitte zukünftig.
/EOD

 
Anbu
21-02-2007, 10:01 
 
werd mich dran halten





Hab das Problem schon gelöst :D

grüße Julian

 
Shurakai
21-02-2007, 15:46 
 
Du darfst die Lösung des Problems auch gerne posten, z.B. für andere Leute, die das Thema hier mal über die Suche oder so finden.


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:48 Uhr.