954,591 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

How to best rank items based on vote data

Hello, I'm new here. Thank you for your time.

I have a PHP module that I use for user submitted poems. Based on the vote data I have poet rankings .

Table schema:
ratingdbid - int
ratinglid - int
ratinguser - char
rating - int
ratinghostname - char
ratingcomments - text
ratingtimestamp - datetime
rating_favorite - int

Right now people are ranked based on Average score. My thought was to create a batch job to maintain a ranking table I could join into this data. My question is what would be best to calculate the ranking on.

Vote data tallies up to:
Average | Reads | Votes | Comments | Page Slam Wins | # Poems

Of that data I can calculate stdev of scores, remove Min and Max from the averages... I can do all sorts of things.

What do you think would work?
Are there any gammers out there with ideas?

Can you think of a better forum on DeniWeb to ask this question?

spacebar
Newbie Poster
1 post since Jan 2007
Reputation Points: 10
Solved Threads: 0
 

You can run a mysql query to calculate the average:

select avg(rating) from ratings where ratinglid=123 group by rating
php_daemon
Junior Poster
140 posts since Aug 2006
Reputation Points: 13
Solved Threads: 2
 

You could add another table that adds value to each type of total.

So you can rate a user like:
Like Average X 5.
Reads X 2
Votes X 3
Comments X1
Page Slam Wins X2
# Poems X 4

etc...

And you can also add value to a rating give by a user by making the rating worth more if the user giving the rating is rated higher.. etc.

could get to be a bit of processing with that second one though...

very interesting stuff...

digital-ether
Nearly a Posting Virtuoso
Moderator
1,293 posts since Sep 2005
Reputation Points: 461
Solved Threads: 101
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You