2017-06-05 1 views
0

Ich versuche, zwei Datumsauswahl auf einer Seite zu verwenden. Es scheint gut zu funktionieren, aber nach dem Klicken auf den Absenden-Button stimmt das eingegebene Datum nicht mit dem gewählten Datum überein. beide in die Datenbank eingefügten Daten sind 01-01-1970.mehrere datepicker in einer Seite (php)

Wie kann ich das beheben?

<div class="form-group"> 
    <label class="control-label col-sm-4">Date Issued</label> 
    <div class="col-sm-5"> 
     <input class="form-control" type="text" id="dateIssuedpc" name="dateissued" required class="form-control" placeholder="Enter Date Issued"/> 
    </div> 
</div> 

<div class="form-group"> 
    <label class="control-label col-sm-4">Date Expired</label> 
    <div class="col-sm-5"> 
    <input class="form-control" type="text" id="dateExpiredpc" name="dateexpired" required class="form-control" placeholder="Enter Date Expired" /> 
    </div> 
</div> 



<script> 
$(function() { 
$("#dateIssuedpc").datepicker({ 
    dateFormat: "dd-mm-yy", 
    changeMonth: true, 
    changeYear: true 
}); 
$("#dateExpiredpc").datepicker({ 
    dateFormat: "dd-mm-yy", 
    changeMonth: true, 
    changeYear: true 
    }); 
    }); 
</script> 
+0

versuchen Sie es mit 'print_r ($ _ REQUEST) ', bevor Sie die Informationen in der Datenbank speichern und prüfen, ob sie korrekt gedruckt wird – hungrykoala

+0

Überprüfen Sie Ihren Feldtyp in der Datenbank. – aavrug

+0

Sie müssen das Datumsformat vor dem Speichern in die Datenbank konvertieren. Standard-DB-Datumsformat war JJJJ-MM-TT H: i: s. ODER Sie können dateFormat: "Voller Jahres- Führender Null-Monat- Führender Null-Tag" in datepicker, –

Antwort

1

wenn Felddatentyp in der Datenbank Datetime ist dann

$dateexpired = $_POST['dateexpired']; 
$new_dateexpired = date("Y-m-d H:i:s",strtotime($dateexpired)); 
$dateissued = $_POST['dateissued']; 
$new_dateissued = date("Y-m-d H:i:s",strtotime($dateissued)); 

wenn Feld Datentyp Datum dann

$dateexpired = $_POST['dateexpired']; 
$new_dateexpired = date("Y-m-d",strtotime($dateexpired)); 
$dateissued = $_POST['dateissued']; 
$new_dateissued = date("Y-m-d",strtotime($dateissued)); 
0

Sie müssen Ihr Datum richtig formatieren. Ändern Sie zuerst das Format von dateFormat: "dd-mm-yy", zu *dateFormat: "dd-mm-yyyy",*, um das Jahr besser zu erkennen.

Danach von PHP-Seite, die Sie so etwas wie diese

$dateissued = date("Y-m-d", strtotime($_POST['dateissued'])); //MySql date format 
1

Dies ist kein Problem picker, eher Problem mit PHP-Code.
Mysql Datumsformat ist immer YYYY-MM-DD HH:II:SS

So, während Daten an MySQL-Tabelle eingefügt, das Format für mysql

Ex konvertieren:

$postDate = $_POST['date'];// just collect value from post fields. 
$date = date("Y-m-d H:i:s",strtotime($postDate));