dinita Posted January 16, 2013 Share Posted January 16, 2013 I'm a big fan of Big Brother UK and as a fun project I have built a Twitter hash tag counter to count the battle between the contestants this year. Using the API from Topsy.com I have built a counter that shows the amount of tweets daily, monthly and hourly. However, I wondered if it was possible for me to calculate the amount of tweets say between the time the page was loaded and the time a user clicks stop so I can see how the numbers have change during the show. Would it be possible to use the setTimeOut() function or is there a better way of doing this? heres my code: <?php error_reporting(0); $jsonurl = "http://otter.topsy.com/searchcount.json?q=%23teamrylan&type=tweet&apikey=FJWCK5YSZIBEUZX4HYJQAAAAABLTPFQ3DVIQAAAAAAAFQGYA"; $json = file_get_contents($jsonurl, 0, null, null); $json_output = json_decode($json, true); $json_output = array_values($json_output); foreach ($json_output as $key => $val) { $hourly = number_format($val["h"]); $daily = number_format($val["d"]); $weekly = number_format($val["w"]); $monthly = number_format($val["m"]); $alltime = number_format($val["a"]); } echo '<strong>How many times have people tweeted #TeamRylan</strong><br /><br />'; echo 'In the last Hour: ' . $hourly . '<br />'; echo 'In the last Day: ' . $daily . '<br />'; echo 'In the last Week: ' . $weekly . '<br />'; echo 'In the last Month: ' . $monthly . '<br />'; echo 'Ever: ' . $alltime . '<br />'; ?> Link to comment https://forums.phpfreaks.com/topic/273232-twitter-hashtag-counter/ Share on other sites More sharing options...
premiso Posted January 16, 2013 Share Posted January 16, 2013 Using cURL over file_get_contents will be about 3-5times faster than file_get_contents, so if you have the option to use cURL, I would opt for that for a bit more efficiency. Also, you can display the text without echo's using <?php echo $weekly; ?> such as: ?> <strong>How many times have people tweeted #TeamRylan</strong><br /><br /> In the last Hour: <?php echo $hourly; ?><br /> In the last Day: <?php echo $daily; ?><br /> In the last Week: <?php echo $weekly; ?><br /> In the last Month: <?php echo $monthly; ?><br /> Ever: <?php echo $alltime; ?> <br /> Granted the display part is more or less preference, but to me that would be easier to edit not having to worry about quotes etc. Finally, you do not need a foreach, instead just do this: <?php error_reporting(0); $jsonurl = "http://otter.topsy.com/searchcount.json?q=%23teamrylan&type=tweet&apikey=FJWCK5YSZIBEUZX4HYJQAAAAABLTPFQ3DVIQAAAAAAAFQGYA"; $json = file_get_contents($jsonurl, 0, null, null); $json_output = json_decode($json, true); $hourly = number_format($json_output['response']["h"]); $daily = number_format($json_output['response']["d"]); $weekly = number_format($json_output['response']["w"]); $monthly = number_format($json_output['response']["m"]); $alltime = number_format($json_output['response']["a"]); None of this stuff is really necessary, just some items that will help efficiency a little bit, ie not having to loop etc. Best of luck. Link to comment https://forums.phpfreaks.com/topic/273232-twitter-hashtag-counter/#findComment-1406144 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.