Geeks With Blogs

News I am a long-in-the-tooth (or short-in-the-gum) SharePoint architect and now even a Geeks-With-Blogs blogger. Wow!!
Points To Share Mostly SharePoint

© 2011 By: Dov Trietsch. All rights reserved

Ranking Part III

In a previous blogs “Ranking an Introduction” and  Ranking Part II” , you have already praised me in “Rank the Author” and learned how to create a new element on a page and how to place it where you need it. For this installment, I just added code to keep the number of votes (you vote by clicking one of the stars) and the total vote. Using these two, we can compute the average rating.

It’s a small step, but its purpose is to show that we do not need a detailed history in order to compute the average. A running total is sufficient. Please note that once you close the game, you will lose your previous total. In real life, we persist the totals in the list itself. We also keep a list of actual votes, but its purpose is to prevent double votes. If a person has already voted, his user id is already on the list and our program will check for it and bar the person from voting again. This is coded in an event receiver, which is a SharePoint server piece of code. I will show you how to do this part in a subsequent blog.

Again, go to the page and look at the code. The gist of it is here. avg, votes, and stars are global variables that I defined before.

function sendRate(sel)
{
//I hate long line so I created pieces of the message in their own vars
var s1 = "Your Rating Was: ";
var s2 = ".. ";
var s3 = "\nVotes = ";
var s4 = "\nTotal Stars = ";
var s5 = "\nAverage = ";
var s;
s = parseInt(sel.id.replace("_", '')); // Get the selected star number
votes = parseInt(votes) + 1;
stars = parseInt(stars) + s;
avg = parseFloat(stars) / parseFloat(votes);
alert(s1 + sel.id + s2 +sel.title + s3 + votes + s4 + stars + s5 + avg);
}

Click on the link to play and examine “Ranking with Stats

That’s all folks!

Posted on Wednesday, November 23, 2011 1:13 PM | Back to top

Comments on this post: Ranking Part III

No comments posted yet.
Your comment:
(will show your gravatar)

Popular Posts on Geeks with Blogs 0
Geeks With Blogs Content Categories ASP.Net SQL Server Apple Google SharePoint Windows Visual Studio Team Foundation Server Agile Office Design Patterns Web Azure
Brand New Posts on Geeks with Blogs 0