2014-01-10 71 views
0

如何在提交表單時自動將日期/時間信息發送到我的數據庫?我正在創建一個評論框,並且在我的「評論」表中有一個名爲「created」(我已設置爲「datetime」類型)的列,我希望發送日期和時間信息,以便我可以在我的頁面上顯示評論。如何在數據庫中獲取和存儲時間戳

這是我必須從我的頁面的代碼發送的東西,還是我可以設置數據庫的方式,它會自動存儲每次從窗體中接收新數據的時間戳?我使用phpMyAdmin來管理我的數據庫,以防萬一。

這是我的代碼,現在發送表單的信息:

<?php 
if (isset($_POST['submit'])) { 
$required_fields = array("author", "body"); 
validate_presences($required_fields); 

if (empty($errors)) { 
    $author = mysql_prep($_POST['author']); 
    $body = mysql_prep($_POST['body']); 
    $page_name = ($_POST['page_name']); 

    $query = "INSERT INTO comments ("; 
    $query .= " author, body, page_name"; 
    $query .= ") VALUES ("; 
    $query .= " '{$author}', '{$body}', '{$page_name}'"; 
    $query .= ")"; 
    $result = mysqli_query($connection, $query); 

    if ($result) { 
     redirect_to("new_admin.php"); 
    } else { 
      // Failure 
      $_SESSION["message"] = "There was an error that prevented the comment from being saved."; 
    } 
} 
} else { 
    $author = ""; 
    $body = ""; 
} 
?> 

任何幫助將是真棒,謝謝!

+0

你有沒有設定一個名字類似於在表「DATE_ADDED」字段? – zeflex

回答

0

會是這個樣子:

$query = "INSERT INTO comments ("; 
$query .= " author, body, page_name, date_Added"; 
$query .= ") VALUES ("; 
$query .= " '{$author}', '{$body}', '{$page_name}', NOW()"; 
$query .= ")"; 
$result = mysqli_query($connection, $query); 

你也可能需要

ALTER TABLE comments ADD date_added date time; 

,或者你可以對數據庫進行填充你通過添加一列像這樣:

ALTER TABLE comments ADD date_Added TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
+0

謝謝!你知道是否有利於其中一方?還是僅僅關乎個人喜好? – coolpup

+1

使用第一個的唯一原因是如果您打算要回發或轉發日期。否則,請使用DEFAULT CURRENT_TIMESTAMP,因爲它很簡單。 –

+0

感謝您的信息! – coolpup

相關問題