2012-02-19 3 views
0

私はブログページを構築しています。しかし、私はアーカイブセクションで苦労し始めています。私が取得するために、SQLクエリでこれらの2つのパラメータを使用する方法blog.php?Month=Febuary&Year=2012PHP、MySQLのアーカイブをMONTHからstrtotimeから取得する

:今、私はに行くリンクを持っている場合

$timestamp = strtotime($month . " " . $date . " " . $year . " " . $time); 

は、私が使用してタイムスタンプされているのmysqlのコメントを持っていますその月と年のすべての記録?

おかげで、
ベン

+0

どのようにデータをMySQLに保存しますか? –

答えて

1

編集:UNIXタイムスタンプを使用するように変更しました...

月&年で照会するstrtotime()必要はありません。代わりに、あなただけ行うことができます。

SELECT * 
FROM blogtbl 
WHERE 
    YEAR(FROM_UNIXTIME(postdate)) = 2012 
    AND UPPER(MONTHNAME(FROM_UNIXTIME(postdate))) = 'FEBRUARY' 

それはDATE_FORMAT()

SELECT * 
FROM blogtbl 
WHERE 
    UPPER(DATE_FORMAT(FROM_UNIXTIME(postdate), '%M %Y')) = 'FEBRUARY 2012' 

でもを行うことができます、私はちょうどそれが簡単にPHP変数に渡すために作るために、大文字にクエリを変換するUPPER()を使用します予期せぬケーシングで。

PHPでクエリー文字列から月と年を取得する方法を既に知っているとします。$_GET['Month'], $_GET['Year']を経由して適切にエスケープしてクエリに挿入します。

+0

これを試してみましたが、大したことはありません mysqlにはUnix形式のタイムスタンプがあります '1326905520' –

+0

@BenStringer UNIXのタイムスタンプをMySQL DATETIMEに変換するには、上記のFROM_UNIXTIME()を使用してください。 –

+0

ああ、ありがとう、私はどのように取得:) –

関連する問題