PHPとMySQLで日付を扱うときはいつも混乱します。私は他の投稿を見ても解決策を見つけることができませんでした。PHPが複数の行に1つの日付しか返さないクエリを実行する
質問があったときにレコードをエコーする簡単なブログがデータベースに保存されています。私は複数のエントリを持つ複数の行を取得しますが、日付はすべて同じです。
日付は、タイムスタンプと呼ばれる列にMySQLタイムスタンプとともに保存され、データベースで次のようにフォーマットされます。 2011-12-29 21:16:55(たとえば)。なぜ私は1つの日付を取得しています
$set_select_sql = "SELECT *
FROM `table`
ORDER BY `table`.`TimeStamp` DESC
LIMIT 0 , 30";
$set_query = mysql_query($set_select_sql);
$HowMany=mysql_num_rows($set_query);
$time = date("g:i a", strtotime(mysql_result($set_query,0,'TimeStamp')));
$date = date("F j, Y ", strtotime(mysql_result($set_query,0,'TimeStamp')));
$blogpost = mysql_result($set_query,0,'blogpost');
mysql_data_seek($set_query, 0);
$r = 0;
while ($r <= $HowMany) {
$row = mysql_fetch_assoc($set_query);
if ($row == FALSE) {
} else {
extract($row);
echo "It was $time on $date when I posted this.<br/>";
echo "$blogpost"
}
$r++
:ここ
は、クエリですか? 私は何が欠けていますか?ありがとうございます!
:
ソリューションとして、ループ内でこれらの変数を取得することです。その後、レコードをループしますが、ループ内の時間と日付の変数は更新されません。 – Jrod
'if($ row == FALSE){}'を 'if($ row!== FALSE)'に置き換えることができますので、ロジックを 'else'に入れなくてもいいです – jprofitt