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?

Recommended Answers

All 2 Replies

You can run a mysql query to calculate the average:

select avg(rating) from ratings where ratinglid=123 group by rating

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...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.