将日期保存到数据库中并使用PHP获取它

时间:2012-08-01 17:46:37

标签: php mysql date save

就像标题所说,我如何使用这个日期函数将其保存为字符串,或者我可以稍后将其从数据库中删除?

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$newsTitel   = $_POST['title'];
$submitDate  = date('Y-m-d g:i:s A');
$newsContent = $_POST['newstext'];
mysql_query("INSERT INTO $tbl_name (Nieuwstitel, Nieuwsbericht, Postdatum) 
     VALUES('$newsTitel', '$newsContent', '$submitDate' ) ");
echo "Het bericht is successvol geplaatst!";
echo date('Y-m-d g:i:s A');

只显示日期:2012时的新闻,只有当它必须是完整长度时才会显示:

 mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
 mysql_select_db("$db_name")or die("cannot select DB");   
 $result = mysql_query("SELECT * FROM $tbl_name ORDER BY newsid DESC");
 $count = mysql_num_rows($result);
 while($row = mysql_fetch_array($result)){
 $count = mysql_num_rows($result);
  echo "<table class='newsList'>";

    echo "<tr><div id='nav'><th align='left'>".$row['Nieuwstitel']."</th>
              <th class='right'>".$row['Postdatum']."</div></tr>";
    echo "<tr><td colspan='2'>".$row['Nieuwsbericht']."<br/></td></tr>";
  echo "</table>";
  if ($count == 0){
     echo "<center><p>No news at the moment!</p><p>&nbsp;</p></center>";
  }
     }
 }

2 个答案:

答案 0 :(得分:1)

为什么不使用MySQL函数,而不是使用字符串日期,以后在输出此值时,您可以简单地格式化它。像这样使用Now()函数;

mysql_query("INSERT INTO $tbl_name (Nieuwstitel, Nieuwsbericht, Postdatum)       
VALUES('$newsTitel', '$newsContent', NOW()) "); 

这将为您提供当前日期时间。

答案 1 :(得分:1)

我不同意那些将你的日期保存在数据库中作为unix时间戳的人(因为很多PHP程序员似乎都想做懒惰)。这使得表格中的数据难以以人类可读的形式阅读,并且使用MySQL的日期/时间函数更难查询。

如果您只是想在查询时设置当前时间戳,我实际上建议在插入查询中使用mysql的NOW()函数,如:

mysql_query("INSERT INTO $tbl_name (Nieuwstitel, Nieuwsbericht, Postdatum) VALUES('$newsTitel', '$newsContent', NOW() ) ");

这使您无需在PHP中进行任何时间表达。