SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.01.2006, 22:01:03
Crooklyn Crooklyn ist offline
Anfänger
 
Registriert seit: Dec 2005
Ort: Brandenburg (Havel)
Alter: 36
Beiträge: 30
Crooklyn eine Nachricht über ICQ schicken
Auftragsarbeit Stempeluhrauswertung

Hallo erst mal.
Ich hätte da ein Problem mit der Verarbeitung und anschließenden Berechnung von Zahlen.

Gleich vorneweg: meinen PHP skill schätze ich auf ca. 30% gegenüber eines Profis also bei eventuellen hilfestellungen bitte darauf rücksicht nehmen ;)

Wie das Topic schon sagt sitze ich an einer Auftragsarbeit für meinen Betrieb ein Programm zu entwickeln welches automatisch die Geleistete arbeitszeit ermittelt und gleichzeitig die Überstunden errechnet. Sprich wenn man von 9-20 Uhr gearbeitet hat hat man: 2 Stunden und 15 Minuten ÜBERSTUNDEN.
das soll das Programm einmal FÜR JEDEN MONAT und auch detailiert für jeden tag ausgeben.

Die Zeit wird per Formular eingegeben!

Bis zu diesem Moment handle ich es so das Die Uhrzeiten als ganzes gespeichert werden. ALSO "06:43". Wie kann ich jetzt daraus einzelne zahlen machen und sagen. das die 06 mal 60 genommen wird damit ich diese als minuten habe und DANN noch zu den 43 hinzu addiere um anschließend bei Zahlen ÜBER 60 Minuten wieder stunden zu erstellen SPRICH : 75 Minuten = 01:15

So ich werde nun zum einen euch Screenshots der GUI und der Mysql Tabellen geben. Zum anderen in diesem Thread die Quellcodes WIE weit ich bereits bin.

Ganz kurz bevor ich mit dem Anhang beginne:
WENN mir jemand helfen kann WÄR ich sehr glücklich. Ich habe zwar das Große Markt und Technik "PHP5 & MYSQL5" aber das hilft mir in dieser Situation auch nicht weiter.

MFG Crooklyn Alias Björn S.
Brandenburg / Havel

ANHÄNGE
======================================
ANZEIGE Des AKTUELLEN MONATS
Bitte nicht wundern ich hab hier ein wenig getrickst und die tabelle 50:50 in php und mysql^^
Code:
function show_act()
{
global $uid;
$mon = date("n");
echo '<table width="60%" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#999999" bgcolor="#CCCCCC">  <tr> 
    <td>&nbsp;</td>
    <td width="60%"><div align="center"><font face="Arial, Helvetica, sans-serif">Aktueller 
        Monat</font></div></td>
    <td>&nbsp;</td>
  </tr>';
$abfrage2 = mysql_query("SELECT tag, monat, g_k, g_g, p1_k, p1_g, p2_k, p2_g, uid FROM day WHERE uid = '$uid' AND monat = '$mon'");
while($act = mysql_fetch_array($abfrage2))
{
?>
  <tr> 
    <td width="20%"><font size="2" face="Arial, Helvetica, sans-serif">Tag: <?php echo $act['tag']; ?></font></td>
    <td width="60%"><font size="2" face="Arial, Helvetica, sans-serif">Gesamt: <?php echo $act['g_k'] . ' - ' . $act['g_g']; ?><br>
      Pause1: <?php echo $act['p1_k'] . ' - ' . $act['p1_g']; ?><br>
      Pause2: <?php echo $act['p2_k'] . ' - ' . $act['p2_g']; ?><br>
      </font></td>
    <td width="20%"><font size="2" face="Arial, Helvetica, sans-serif">&nbsp;</font></td>
  </tr>

<?php
}
echo '</table>';
}
===============================
http://img137.imagevenue.com/img.php...9d_add_day.jpg
http://img142.imagevenue.com/img.php...9_add_day2.jpg
http://img136.imagevenue.com/img.php...0_add_day3.jpg

Geändert von Crooklyn (03.01.2006 um 22:05:41 Uhr)
Mit Zitat antworten
  #2  
Alt 04.01.2006, 18:05:25
langwebdesign langwebdesign ist offline
Junior Member
 
Registriert seit: Oct 2002
Ort: Titting
Alter: 38
Beiträge: 251
AW: Auftragsarbeit Stempeluhrauswertung

Hallo Crooklyn,

rein interresse halber, wie groß is deine Firma, oder die für die du das machst?
und wie werden die Stunden erfasst?

mfg Stephan
__________________
Affen benutzen oft Stöckchen als Hilfsmittel...
Mit Zitat antworten
  #3  
Alt 04.01.2006, 20:47:22
Crooklyn Crooklyn ist offline
Anfänger
 
Registriert seit: Dec 2005
Ort: Brandenburg (Havel)
Alter: 36
Beiträge: 30
Crooklyn eine Nachricht über ICQ schicken
AW: Auftragsarbeit Stempeluhrauswertung

Die Firma umfasst ca. 100 Mitarbeiter.
Jetz kommt der Witz an der Sache:

Die Zeit wird mittels einer (wortwörtlich nehmen!!!) Stempeluhr erfasst.
Sprich Zettel mit Mitarbeitername rein - Knopf drücken - RAATSCH - Datum und uhrzeit rauf gestempelt :D - Mittelalterlich ich weiß^^
Mit Zitat antworten
  #4  
Alt 04.01.2006, 21:01:50
langwebdesign langwebdesign ist offline
Junior Member
 
Registriert seit: Oct 2002
Ort: Titting
Alter: 38
Beiträge: 251
AW: Auftragsarbeit Stempeluhrauswertung

Versteh ich des richtig, irgendwer hackt dann des ganze in die MYSQL nei???

is des ned ziemlich fürn arsch die methode?

sorry aber da gibts bessere Lösungen.

Bei uns wird eine Lösung Bedatime eingesetzt.

Wäre sowas nicht sinnvoller?

Stephan
__________________
Affen benutzen oft Stöckchen als Hilfsmittel...

Geändert von langwebdesign (04.01.2006 um 21:02:22 Uhr)
Mit Zitat antworten
  #5  
Alt 06.01.2006, 14:14:43
Benutzerbild von Matt
Matt Matt ist offline
Member
 
Registriert seit: Mar 2002
Ort: Port 80, localhost-city, 127/0/0/1
Beiträge: 878
AW: Auftragsarbeit Stempeluhrauswertung

Also prinzipiell fände ich es auch vieeel schlauer, wenn du die Überstunden nicht in stunden und minuten speichern würdest sondern nur in Minuten.
Denn die Minuten kannst du dann einfach addieren, dividierst durch 60 und rundest ab und schon hast du die stunden. Die überzähligen minuten bekommst du dann mit einem Modulo 60.

in code sieht das ungefähr so aus:

Code:
 $ueberMinuten=getUeberminuten() //gibt dir beispielsweise die Überstunden eines bestimmten Mitarbeiters in dem monat in minuten zurück. 
 $stunden=(int)$ueberMinuten/60; 
 $minuten=$ueberMinuten%60; 

print "Überstunden: $stunden h, $minuten min";
Wenn du die Überminuten errechnen willst musst du auch nur

eine SQL Query in der form machen:

select sum(uebermin) from ueberstunden where mitarbId='12' and datum>=20060101 and datum <=20060105;

Das gibt dir als resultat ein feld aus, in dem die summe der überminuten für den bestimmten benutzer Damit machst du das oben genannte und fertig.

Wenn jemand seine überstunden in dein formular eingibt, rechnest du das in überminuten um (überstunden*60 + überminuten) und speicherst das für den bestimmten tag in deiner datenbank.
Mit Zitat antworten
  #6  
Alt 08.01.2006, 15:14:46
Crooklyn Crooklyn ist offline
Anfänger
 
Registriert seit: Dec 2005
Ort: Brandenburg (Havel)
Alter: 36
Beiträge: 30
Crooklyn eine Nachricht über ICQ schicken
AW: Auftragsarbeit Stempeluhrauswertung

Das is okay letzteres werd ich ausprobieren.
Ich poste dann hier weiteres...
__________________
KOMERZVERSION "Another Content Management System - ACMS" Under Contruction.
Current Work: Complete Recode and new functions more configuration possibilities etc...

Geändert von Crooklyn (20.01.2006 um 19:33:02 Uhr)
Mit Zitat antworten
  #7  
Alt 21.01.2006, 13:19:28
Crooklyn Crooklyn ist offline
Anfänger
 
Registriert seit: Dec 2005
Ort: Brandenburg (Havel)
Alter: 36
Beiträge: 30
Crooklyn eine Nachricht über ICQ schicken
AW: Auftragsarbeit Stempeluhrauswertung

Guten Morgen,

ich habe nun das nächste Problem.

Da ich ab sofort mit einer UNIX Timestamp arbeite möchte ich nun rauskriegen wie ich aus einer eingabe(einzeln für stunde und minute) inkl. Datum die Unix Timestamp rauskriege.

Wenn ich also per formular eingebe:
Stunde: 06
Minute: 43
Tag: 21
Monat: 01
Jahr: 2006

das ich daraus im Hintergrund eine Timestamp erstelle diese in die db haue und damit später weiter rechne

THX im Vorraus

D.H. ich brauche die umgekehrte funktion von strftime("%d / %m - %H:%M", $g_k)

Danke
__________________
KOMERZVERSION "Another Content Management System - ACMS" Under Contruction.
Current Work: Complete Recode and new functions more configuration possibilities etc...
Mit Zitat antworten
  #8  
Alt 21.01.2006, 13:51:38
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.703
AW: Auftragsarbeit Stempeluhrauswertung

Guckst Du 12.5. Date and Time Functions.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #9  
Alt 21.01.2006, 15:04:02
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Auftragsarbeit Stempeluhrauswertung

falls du das in php machen willst, schau dir einfach mal die seite im handbuch über strftime an, dort stehen relativ weit unten immer hinweise zu "verwandten" funktionen...unter anderem auch mktime.
Mit Zitat antworten
  #10  
Alt 21.01.2006, 17:36:03
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 74
Beiträge: 4.001
AW: Auftragsarbeit Stempeluhrauswertung

Zitat:
Zitat von Crooklyn
das ich daraus im Hintergrund eine Timestamp erstelle diese in die db haue und damit später weiter rechne
Schade. MySQL hat so hervorragende Datum- und Zeitfunktionen, aber egal.

Zitat:
D.H. ich brauche die umgekehrte funktion von strftime("%d / %m - %H:%M", $g_k)
Ich vermute, Du suchst das:

25.16. Wie wandle ich Sekunden in Tage/Stunden/Minuten/Sekunden um?
http://www.php-faq.de/q/q-code-intervall.html
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:11:55 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt