quotes
----------------------------------
| id | data | data2
----------------------------------
| 1 | first quote | translated quote
| 2 | second... | bla bla
En dan selecteer je het als volgt:
$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;
BEWERKEN!!:Ik heb datediff verwijderd, dus de ID die wordt geretourneerd van het datumverschil staat DIRECT in WHERE.
Wat dit doet is het verschil berekenen tussen de eerste dag en de huidige datum . Dus elke dag zal die datediff 1 groter zijn.DATEDIFF(CURDATE()+1, '$firstday') as datediff
kan worden geïnterpreteerd als
datediff = differenceBetween(Currentday +1 and firstDay)
- Gisteren was 2011-07-06, daarom
datediff = 2011-07-07 (there is +1!) - 2011-07-06
dat is 1 - vandaag is het
2011-07-08 - 2011-07-06
dat is 2 - morgen
2011-07-09 - 2011-07-06
dat is 3 - overmorgen
2011-07-10 - 2011-07-06
dat is 4 - over een maand is het
2011-08-08 - 2011-07-06
dat is 33
dus datediff wordt elke dag 1 groter
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
.....
Of kort:elke dag zal een andere quote zijn, beginnend met ID 1 vooruit.
Ik kan niet meer uitleggen dan dit..
BEWERK #2:5 citaten per dag
$offset = date_diff(new DateTime('now'), new DateTime('2011-08-29'))->format('%d');
$getquote = "SELECT * FROM quotes LIMIT {$offset},5";
tweede bewerking dankzij ajreal (SQL LIMIT syntaxisfout )
BEWERK #3:5 citaten per dag, veranderlijk per variabele..
optie 1:
$choose=0; //statically defined, only first of that day will pop out
optie 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
optie 3:
$choose = rand(0,4); //will choose it randomly from those 5 daily quotes
Dus kies een van de opties die je leuk vindt, en voeg het eerst toe:
$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;