2016-12-10 5 views
0

HtmlWie Zeit in MySQL-Datenbank zu speichern?

<input type="date" ng-model="bookdate" required> 

<input type="time" ng-model="booktime"> 

Controller

$scope.insertData=function(){ 

bookdate=$scope.bookdate; 
    booktime=$scope.booktime;   
$http.post("url", { 
'bookdate':bookdate, 
     'booktime':booktime}) 

php

Datumsspalte Datentyp ist Datum Zeit-Datentyp ist Zeit

$data = json_decode(file_get_contents("php://input")); 
    $bookdate =$data->bookdate; 
    $booktime=$data->booktime; 
$newtime = date("H:i:s", strtotime($data->booktime)); 

$conn = new mysqli("localhost", "", "", ""); 

$sql = "INSERT INTO table(bookdate,booktime) 
VALUES ('$bookdate','$newtime')"; 
if (mysqli_query($conn, $sql)) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 

In Datenbank, wenn Datum vorgelegten ist ein früheres Datum zu speichern und Zeitwert ist 00:00:00

+0

Betrachten Sie Datum und Zeit als eine Einheit zu speichern – Strawberry

+0

ich brauche Benutzer Zeit – user3698911

+0

speichern eingegeben Sie es noch als eine einzige Einheit speichern kann – Strawberry

Antwort

2

Sie können versuchen, strtotime() zu verwenden.

Versuchen Sie, die unten

$newdate = date("Y-m-d", strtotime($data->bookdate)); 
$newtime = date("H:i:s", strtotime($data->booktime)); 

Solange Sie die Werte Ihrer $ Daten-> bookdate und $ Daten-> booktime bekommen sollte dies den Trick.

Fahren Sie fort, um die neuen Variablen in Ihrer MySQL-Datenbank einzugeben, wie unten.

"INSERT INTO yourdb(booktime) VALUES('$newtime')" 
+0

Es funktioniert, aber die richtige Zeit wird nicht gespeichert. Zum Beispiel, wenn die Eingabe 08:00 Uhr ist dann Zeit in der Datenbank gespeichert ist 20:30: 00. – user3698911

+0

Die strtotime Funktion sollte es auswählen, wenn Sie das AM wie erwähnt haben. Und ist es genau ein Unterschied von 12 Stunden (12/24 Stunden)? Kannst du eine Geige hinzufügen? Muss nicht auf dem Server veröffentlichen. Nur etwas, um zu sehen, welche Werte du in deinem eckigen Pfosten bekommst. –

+0

Wenn ich die Konsole logge ich bekomme korrekte Ergebnisse während der Speicherung in der Datenbank Zeit variiert zB Thu Jan 01 1970 08:00:00 GMT + 0530 (India Standard Time) dies ist Konsolenprotokoll Ergebnis – user3698911

Verwandte Themen