On Sep 25, 2008, at 11:44 AM, Jim Lucas wrote:
Jason Pruim wrote:
On Sep 25, 2008, at 11:28 AM, Jim Lucas wrote:
Jason Pruim wrote:
So I'm trying to figure out how to do a little math in php to add
up the
number of hours that people have worked (Still on the timecard for
anyone following along at home)
I have it inserting time in and timeout as timestamps into a MySQL
database, from there, I use a while loop to display the total
hours for
the day which works perfectly, now though, they want it to total
for the
week...
I think what I need to do is create an array of my total time for
the
day then add that up in another loop to display the total... That
seems
like overkill to me though... is there a better way to do it?
Here is the relevant part of the code:
while ($row = mysql_fetch_assoc($result)){
$timein = date("m/d/y h:i:s", $row['timein']);
$timeout = date("m/d/y h:i:s", $row['timeout']);
$totalday = ($row['timeout'] - $row['timein']);
$totalday = $totalday/60/60;
$totalday = round($totalday, 2);
$totalweek = ?!@?#!@#?!@#!$%^!23?!@#!@#?!@#?#$&*^
echo <<<ADMIN
<tr>
<td>{$row['Name']}</td>
<td>{$timein}</td>
<td>{$timeout}</td>
<td>{$totalday}</td>
</tr>
ADMIN;
}
echo "</table>
</div>
</body>";
--
Jason Pruim
Raoset Inc.
Technology Manager
MQC Specialist
11287 James St
Holland, MI 49424
www.raoset.com
japruim@xxxxxxxxxx
Doesn't seem logical to have the weekly total displayed at the end
of
each
day. Are you wanting a subtotal of each day being added to the
weekly
total
to be displayed next to each day? If that is the case, the just
have one
variable that you add each days total to that doesn't get reset when
the new
DAY is started.
Hi Jim,
You are correct, I want it to look something like this:
Name | time in | timeout | total for day
Name | time in | timeout | total for day
Name | time in | timeout | total for day
Name | time in | timeout | total for day
Name | time in | timeout | total for day
Name | time in | timeout | total for day
Name | time in | timeout | total for day
TOTAL FOR WEEK: X
--
Jim Lucas
"Some men are born to greatness, some achieve greatness,
and some have greatness thrust upon them."
Twelfth Night, Act II, Scene V
by William Shakespeare
--
Jason Pruim
Raoset Inc.
Technology Manager
MQC Specialist
11287 James St
Holland, MI 49424
www.raoset.com
japruim@xxxxxxxxxx
This should work for you.
$totalWeek = 0; // Initialize total holder
while ($row = mysql_fetch_assoc($result)){
$timein = date("m/d/y h:i:s", $row['timein']);
$timeout = date("m/d/y h:i:s", $row['timeout']);
$totalday = ($row['timeout'] - $row['timein']);
$totalday = $totalday/60/60;
$totalday = round($totalday, 2);
$totalWeek += totalday; // Builds the total from the
daily total
echo <<<ADMIN
<tr>
<td>{$row['Name']}</td>
<td>{$timein}</td>
<td>{$timeout}</td>
<td>{$totalday}</td>
</tr>
ADMIN;
}
# Display Weekly total
echo <<<WEEKTOTAL
<tr>
<td colspan='4' align='right'>TOTAL FOR WEEK:
{$totalWeek}</td>
</tr>
WEEKTOTAL;
echo "</table>
</div>
</body>";
Hi Everyone,
Just letting you all know (And for the archives) that I decided to use
Jim's solution provided above. It works perfectly for what I am
attempting to do.
Thanks to everyone for their help!
--
Jason Pruim
Raoset Inc.
Technology Manager
MQC Specialist
11287 James St
Holland, MI 49424
www.raoset.com
japruim@xxxxxxxxxx
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php