MySQL Gesamt Login Stunden negativ werden am Nachmittag
Ich Speicherung Benutzer Gesamt Login Stunden, die ich zuerst die Speicherung der Anmeldezeit bei der Anmeldung erreichen und dann beim Abmelden speichere ich die time_out. Um die gesamten Login-Zeiten zu finden, benutze ich den folgenden Code. In den Morgenstunden sah alles gut aus, aber jetzt am Nachmittag werden die Gesamtanzahl und die Zeit negativ.
Hier ist mein login.php
-Code, der die ersten Login-Daten Stunden Tabelle speichert:
date_default_timezone_set('America/New_York');
$chk = date("Y-m-d");
$result = mysql_query("SELECT * FROM hours WHERE member_id = '".$_SESSION['MEMBER_ID']."' AND member_name = '".$_SESSION['LOGIN_NAME']."' AND time_in LIKE '%".$chk."%'");
$dt = date("Y-m-d");
if(mysql_num_rows($result) == '0'){
mysql_query("INSERT INTO hours (member_id, member_name, team, time_in) VALUES ('".$_SESSION['MEMBER_ID']."', '".$_SESSION['LOGIN_NAME']."', '".$_SESSION['TEAM']."', '".$dt."')");
}
jetzt die logout.php so Zeit beim Abmelden
$id = $_SESSION['MEMBER_ID'];
date_default_timezone_set('America/New_York');
$dt = date("Y-m-d h:i:s");
$max = mysql_query("SELECT MAX(hours_id) FROM hours WHERE member_id = '".$id."'");
$row = mysql_fetch_row($max);
$sql = "UPDATE hours SET time_out = '".$dt."' WHERE hours_id = '".$row[0]."'";
mysql_query($sql) or die(mysql_error());
aktualisieren Und hier ist, wie ich überprüfen Benutzer insgesamt Anmeldestunden für den Tag oder den ganzen Monat:
<?php
$query = "select member_id, member_name, team, time_in, time_out, sec_to_time(unix_timestamp(time_out) - unix_timestamp(time_in)) AS totalhours from hours where member_id='7'";
$result = mysql_query($query)or die(mysql_error());
$rowNo = 1; //Increment Row Number
$total_time="00:00:00";
while($row = mysql_fetch_assoc($result)){
$time = $row['totalhours'];
$secs = strtotime($time)-strtotime("00:00:00");
$total_time = date("H:i:s",strtotime($total_time)+$secs);
echo "<tr align='left'>";
echo"<td><font color='white'>" .$rowNo++."</font>.</td>";
echo"<td><font color='white'>" .$row['member_name']."</font>.</td>";
echo"<td><font color='white'>" .date('Y-M-d - h:i:s a ', strtotime($row['time_in']))."</font>.</td>";
echo"<td><font color='white'>" .date('Y-M-d - h:i:s a ', strtotime($row['time_out']))."</font>.</td>";
echo"<td><font color='white'>" .$time." Hrs</font>.</td>";
echo "</tr>";
}
?>
</table>
<?php echo '<p align="right"><font size="4" color="black">Sub Total:</font> '.$total_time.' Hrs </p>'; ?>
Was könnte wro sein ng hier, dass nach 12 Uhr die Zeit negativ wird und alle Login Stunden falsch angezeigt werden?
Hinweis: Ich verwende nicht PDO
, weil dies ein Offline-Projekt nicht online ist.
'H' in einer Datumsmaske ist 12-Stunden-Uhr; 'H' ist 24-Stunden-Uhr –
ah ley mir es versuchen – lalthung
" und ja, das ist nicht pdo, weil es ein Offline-Projekt nicht online ist "Ihre Annahme, dass PDO nicht mit localhost verbinden kann fehlgeleitet ist, mache ich es alle Zeit. – HPierce