2016-07-29 53 views
0

我遇到了日期字段的問題。當我創建一個新的記錄或更新現有的日期字段保存爲000-00-00.jquery jtable更新並創建日期問題

隨着當我選擇任何一天的日期選擇器,它存儲在表值(0000-00-00).

的數據庫字段是日期類型。

我下載了PHP示例代碼,使用示例sql創建了一個數據庫,並將RecordDate字段更改爲可編輯,並且我遇到了同樣的問題。

DB value: 0000-00-00 
JTable shows: 1899-11-30 

我該怎麼辦? 請幫 這是代碼 jQuery代碼: -

$(document).ready(function() { 


    var assignmentid= "<?php echo $assignmentid; ?>"; 
     //Prepare jTable 
     $('#PeopleTableContainer').jtable({ 
      title: 'Table of people', 
      actions: { 
       listAction: 'teacherfill.php?action=list&aid="<?php echo $assignmentid; ?>"', 
       createAction: 'teacherfill.php?action=create&aid="<?php echo $assignmentid; ?>"', 
       updateAction: 'teacherfill.php?action=update&aid="<?php echo $assignmentid; ?>"', 
       deleteAction: 'teacherfill.php?action=delete&aid="<?php echo $assignmentid; ?>"' 
      }, 
      fields: { 
       lecture_id: { 
        key: true, 
        create: false, 
        edit: false, 
        list: false 
       }, 
       lecture_no: { 
        title: 'Lecture No', 
        width: '40%' 
       }, 
       lecture_date: { 
        title: 'Lecture Date', 
        width: '20%', 
        type:'date' 
       } 

      } 
     }); 

     //Load person list from server 
     $('#PeopleTableContainer').jtable('load'); 

    }); 

PHP代碼: -

if($_GET["action"] == "update" && $_GET["aid"]) 
{ 

$assignmentid=$_GET['aid']; 
    $updatedlecno=$_POST["lecture_no"]; 
    //$updatedlecdate=date("Y-m-d",strtotime($_POST['lecture_date'])); 
$updatedlecdate=$_POST['lecture_date']; 
    $lecid=$_POST["lecture_id"]; 
    $q="UPDATE lecture_schedule SET lecture_no=$updatedlecno,lecture_date=$updatedlecdate WHERE (lecture_id=$lecid)"; 
    $result = mysqli_query($conn,$q); 
    if($result) 
    { 
     $er="No error"; 
    } 
else{ 
    $er1=mysqli_error($conn); 
    $er="error"; 

} 
    //Return result to jTable 
    $jTableResult = array(); 
    $jTableResult['Result'] = "OK"; 
    //$jTableResult['status'] = $er; 
    //$jTableResult['date'] = $updatedlecdate; 




    print json_encode($jTableResult); 
} 
+1

在插入語句中的日期周圍添加單引號,並記住清理輸入。 –

回答

1

首先,不使用mysql_ *函數。這些功能已被棄用。改用mysqli_ *或PDO。

二,不要把原始$_POST數據寫入你的SQL語句Bobby Tables會解釋。改用參數化查詢。

三,檢查$_POST['lecture_date']是否實際上包含一個值。在您的示例數據中,它是Lecture_date - 案件事宜。

第四,SQL查詢中的日期仍然是字符串。您需要將值包裝在SQL的單引號中才能正確處理它。否則它會看到2016-07-292016 - 7 - 29 = 1980。當你解決我的第三點時,你應該得到一個錯誤。