-4

タイトルにあるように、この日付関数を使用して文字列として保存したり、後でデータベースから取得したりするにはどうすればよいですか?

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>";
  }
     }
 }
4

2 に答える 2

1

文字列の日付を使用する代わりに、MySQL 関数を使用しないでください。後でこの値を出力するときに、単純にフォーマットできます。このように Now() 関数を使用します。

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

これにより、現在の日時が得られます。

于 2012-08-01T17:58:12.407 に答える
1

日付をデータベースに unix タイムスタンプとして保存するように言う人には同意しません (多くの PHP プログラマーは怠惰からやりたがっているようです)。これにより、テーブル内のデータを人間が読める形式で読み取るのが難しくなり、MySQL の日付/時刻関数を使用してクエリを実行するのが難しくなります。

クエリの時点で現在のタイムスタンプを設定しようとしているだけの場合は、挿入クエリで mysql の NOW() 関数を次のように使用することを実際に提案します。

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

これにより、PHP でいつでも定式化を行う必要がなくなります。

于 2012-08-01T17:59:07.560 に答える