2012-01-03 18 views
0

unixの日付フィールドを持つ行をランダムに選択できるPHP関数が必要です(2011-11-12や2011-12- 24)は、行がmySQLテーブルから最後の2週間以内に作成され、その行のIDを返すことを示します。Unixの日付を2週間未満で1つのmySQL行をランダムに選択するPHP関数

どのようにこれを行うかわかりません。正直なところ、誰かにコードを渡してもらいたいですが、大部分の人はそれが好きではないので、その理由は理にかなっています。しかし、誰かが私にコードを表示したら、してください。少なくとも誰かが正しい方向に私を指す?ありがとうございました。あなたがdatestrtotimeを使用して、日付を取得することができ

答えて

0

$date = date('Y-m-d', strtotime("-2 weeks")); 

その後のクエリは次のようなものになります。

SELECT * FROM table WHERE date_field >= '$date' ORDER BY RAND() LIMIT 1; 

ORDER BY RAND()をあなたにランダムな行を提供します。

strtotimehttp://us3.php.net/manual/en/function.strtotime.php

は、この情報がお役に立てば幸いです。 :)

+0

ありがとう、私はこのコードを思いついた: 'require(" cms/connection.php "); $ date = date( 'Y-m-d'、strtotime( "-2週間")); $ result = mysql_query( "SELECT * FROM articles where publicationDate> = '$ date' ORDER BY RAND()LIMIT 1 '); while($ row = mysql_fetch_array($ result)){echo "タイトル:" $ row ['title']。 "
";エコー "キャプション:"。 $行['キャプション']。 "
"; }エコー "終了"; mysql_close($ connection); '問題があります。これは私にこのエラーを与えています:mysql_fetch_array():指定された引数は有効なMySQL結果リソースではありません。私は結果がfalseを返すと思いますが、私はエラーを見つけることができません。 – MindMaster

+0

いくつかのエラーが見つかりましたので、修正しました。 $ date = date( 'Y-m-d'、strtotime( "-2週間")); $ result = mysql_query( "SELECT * FROM'記事 'WHERE' publicationDate'> = '$ date' ORDER BY RAND()LIMIT 1; "; while($ row = mysql_fetch_array($ result))まだ同じエラーメッセージが表示されています。 – MindMaster

+0

Hmm。 mysql_error()を出力して、エラーの内容を確認することをお勧めします。 mysql_query()の呼び出しの直後にそれを行います。 – letuboy

関連する問題