quotes
----------------------------------
| id | data | data2
----------------------------------
| 1 | first quote | translated quote
| 2 | second... | bla bla
そして、次のように選択します:
$firstday="2011-06-06";
$getquote = mysql_query("SELECT * FROM quotes WHERE id=(DATEDIFF(CURDATE()+1, '$firstday'))");
$quote = mysql_fetch_object($getquote);
echo $quote->data . $quote->data2;
編集!!:datediffを削除したため、日付の違いから返されるIDは直接WHEREにあります。
これは、初日と現在の日付の差を計算することです。 。したがって、そのdatediffは毎日1大きくなります。DATEDIFF(CURDATE()+1, '$firstday') as datediff
datediff = differenceBetween(Currentday +1 and firstDay)
- 昨日は2011-07-06だったので、
datediff = 2011-07-07 (there is +1!) - 2011-07-06
これは1 - 今日は
2011-07-08 - 2011-07-06
これは2 - 明日
2011-07-09 - 2011-07-06
これは3 - 明後日
2011-07-10 - 2011-07-06
これは4 - 1か月で
2011-08-08 - 2011-07-06
これは33
したがって、datediffは毎日1ずつ大きくなります
quotes
-------------------------
|id| data
-------------------------
|1| quote day 1 (because date difference from start == 1)
|2| quote 2 day 2 (datediff == 2)
|3| quote 3 day 3 (datediff == 3)
|4| quote 4 day 4
.....
またはまもなく:ID 1以降、毎日異なる見積もりになります。
これ以上説明することはできません。
編集#2:1日5回の引用
$offset = date_diff(new DateTime('now'), new DateTime('2011-08-29'))->format('%d');
$getquote = "SELECT * FROM quotes LIMIT {$offset},5";
ajrealによる2回目の編集(SQLLIMIT構文エラー )
編集#3:1日5引用符、変数で変更可能..
オプション1:
$choose=0; //statically defined, only first of that day will pop out
オプション2:
$choose = mysql_real_escape_string($_GET["qid"]); //which one will be defined in url.. (watch out, people can figure it out and browse through all quotes
オプション3:
$choose = rand(0,4); //will choose it randomly from those 5 daily quotes
したがって、必要なオプションの1つを選択し、その前に追加してください:
$offset = 5*date_diff(new DateTime('now'), new DateTime('2011-08-29'))->format('%d') + $choose;
$getquote = mysql_query("SELECT * FROM quotes WHERE id = '$offset'");
$quote = mysql_fetch_object($getquote);
echo $quote->data . $quote->data2;