logisches Problem

quidnovi

Erfahrenes Mitglied
Hallo,

ich übergebe aus einem Eingabeformular die Arbeitsstunden, also Beginn bis Ende.
Nun muss ich aber den User dazu zwingen, die Mittagspause von 12.00 - 12.30 einzugeben.

Die Eingabe 7:00 - 15:00 ist falsch. Richtig wäre, von 7:00 - 12:00 und von 12:30 - 15:00.

Das sollte mit if/else zu lösen sein, weiß aber nicht wie.
Mit:
PHP:
if ($endH > 12)
funktioniert das schon, aber was ist dann von 12:30 - 15:00? Hier wird natürlich diese Klausel schlagend.

Könnt Ihr mir bitte bei diesem logischen Problem die Richtung weisen? Danke
 
Hi,

hilfreich wäre zu wissen wie dein HTML-Formular aussieht.

Mein Vorschlag wäre im Formular vier Felder zu erstellen, jeweils für anfangs und endzeit am Vormittag und Nachmittag.

Andernfalls könntest du im Script die Mittagspause auch automatisch abziehen.


Gruß
 
Hi Ghost,

Das Eingabeformular hat folgende Dropdownfelder:

beginH, beginM
endH, endM
Tag, Monat,Jahr und noch so einiges, was hier aber nicht von Belang ist.

Der Ablauf:

Der User gibt die geforderten Daten ein, die dann an ein Berechnungsscript übergeben werden. Danach wird das Ganze in die Db geschrieben und aufgeschlüsselt.

Ein Beispiel:Beispiel: 7:00 - 23:00
Ich frage diesen Eintrag ab, und teile mit folgendem Ergebnis auf:
8,5 Stunden Normalarbeitszeit,
0,5 h Zeitausgleich aufbauend,
4h Zeitausgleich mit 50% Aufschlag
3h Zeitausgleich 100% Aufschlag
Summe: 16h

Das stimmt soweit, nur fehlt die vorgeschriebene 1/2h Mittagspause.
Nun könnte ich natürlich die 1/2 h Mittagspause vom Gesamten abziehen, nur zähle ich die Gesamtarbeitszeit, die in der Db zu diesem Auftrag und Tag eingetragen sind, zusammen, und schlüssle das nach den oben angeführten Vorgaben auf.
Wenn der User nun brav die Mittagspause eingetragen hat, dann darf diese natürlich nicht nochmals abgezogen werden.

Ein bisschen kompliziert, weiß schon.

Daher suche ich nach einer Möglichkeit herauszufinden, ob die Mittagspause eingetragen wurde.
 
Das mit Vormittag und Nachmittag hat was, werde mir nun einen Weg überlegen wie das umsetze.

Danke für diesen Vorschlag, wäre aber doch froh, wenn ein anderer Weg gefunden würde.
 
Also entweder gibst du fest vor, dass der Benutzer die Mittagspause NICHT mit eingibt, dann brauchst du nur 2 Felder (begin und end) und ziehst obligatorisch eine halbe Stunde ab (ist ja egal wann er die genommen hat) In der DB steht dann eben eine halbe Stunde mehr, und fürs aufschlüsseln ziehst du eine halbe Stunde ab.

Oder du machst 4 Eingabefelder (beginVor endVor beginNach endNach) dann muss der Benutzer seine Pause selber eingeben. Kann dann evtl. auch eine Stunde eintragen. Fürs aufschlüsseln musst du dann entsprechend beide Zeiträume addieren. Fürs speichern dann beginVor bis endNach nehmen.

Wenn der Benutzer seine Pause von 12 bis 12:30 nehmen MUSS (warum auch immer) dann brauch er keine Eingabefelder dafür. Dann kannst du die Zeiten ja statisch reinschreiben:
Arbeitszeit: [______] - 12:00 und 12:30 - [______]
 
Hi DeeJTwoK,

danke für Deine Vorschläge, einer von den Beiden wird's dann werden. Sind schlüssig.

Salü und danke nochmals
 
Zurück