Ich arbeite an einer Schicht basierten Anwendung, wo meine Arbeiter in 3 Schichten arbeiten, Morgen 06.00 Uhr bis 14.00 Uhr, 14 Uhr bis 22 Uhr und 22 Uhr bis 06.00 Uhr (nächsten Tag). Ich muss berechnen, um die gesamte Zeit in jeder Schicht gearbeitet, die in der Datenbank protokolliert wird.Daten durch Zeitverschiebungen abrufen - PHP MYSQL
$clientid = $_GET["clientid"];
$date = $_GET["edate"];
$shift = $_GET["shift"];
if(!empty($clientid))
{
if($shift=='a')
{
$sq = mysql_query("SELECT * from logusage WHERE etime BETWEEN '6:00:00' AND '14:00:00' AND clientid= '$clientid' AND edate = '$date'",$this->db);
}
else if($shift=='b')
{
$sq = mysql_query("SELECT * from logusage WHERE etime BETWEEN '14:00:00' AND '22:00:00' AND clientid= '$clientid' AND edate = '$date'",$this->db);
}
else if($shift=='c')
{
$sq = mysql_query("SELECT * from logusage WHERE etime BETWEEN '22:00:00' AND '6:00:00' AND clientid= '$clientid' AND edate= '$date'",$this->db);
}
Jedes Mal, wenn ich versuche, die Shift-C zuzugreifen, es holt mich Daten nur bis 23.59 Uhr an diesem Tag, wie ich das Datum auch bin Parsen. Wie ändere ich den SQL-Wert, um Daten für den nächsten Tag bis 6 Uhr morgens zu holen?
Dies löst SQL-Fehler, Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MySQL-Server-Version für die richtige Syntax in der Nähe von '' in Zeile 1 entspricht Ive kopieren eingefügt Ihren Code in der dritten SQL-Zeichenfolge. –