“Quote of the Day” is quite an old feature, people put on their sites. And of course people like it; I mean who doesn’t like to know the sayings of great persons! In this post we’re going to design a complete quote of the day system to place on our web site.
The title is a bit misleading actually, because most of these types of scripts show a new quote (randomly) each time the page is requested and not once a day. So if you incorporate this script on our web site, you’d see a different quote each time you reload the page. You may easily change it to “actually” display different quotes for each day only but people like that random one!
The working of the quote scrip is pretty simple. We first store a good number of quote in an array (here we’ll just be storing a handful as an example). Generate a random number from 0 to NUM_ELEMENTS_IN_ARRAY-1 and just show the quote from the array with that index.
Here is the script:
<?php
//quotes
$quote[0]="All mankind is divided into three classes:
those that are immovable, those that are movable and those that move.";
$quote[1]="Beauties in vain their pretty eyes
may roll....but merit wins the soul.";
$quote[2]="Everything has its beauty but not
everyone sees it.";
$quote[3]="A superior man: \"He acts before
he speaks and afterwards speaks according to his actions.\"";
$quote[4]="It is not enough to succeed, others
must fail.";
//respective authos
$author[0]="Benjamin Franklin";
$author[1]="Alexander Pope";
$author[2]="Confucius";
$author[3]="Confucius";
$author[4]="Gore Vidal";
//total number of quotes
$total_quotes=count($quote);
//generate random number
srand((double)microtime()*1000000);
$random_number=rand(0,$total_quotes-1);
//format and display the quote
echo "<p><b><i>Quote of the Day:</i></b><br />
$quote[$random_number] <br /> <span style=\"text-align: right\"><i>By
$author[$random_number]</i></span></p>";
?>
It was better to show the author of the quotes too so I’ve implemented that also, using a second array to hold the author names in the same order.
One thing worth discussing about the above code is the random number generation part. These two lines do that:
//generate random number
srand((double)microtime()*1000000);
$random_number=rand(0,$total_quotes-1);
Here, the first line is initializing the random number generator with some large number generated by the microtime () function. The next line actually generates the random number in the range (0, 5).
Rest of the script is fairly straightforward for you to understand.
That’s it for this post!
Related Articles: