Right now I have a voting system on my website that stores all votes in a votes table. in votes table I have a field named item_name which contains id of article that was liked. All article information including it’s id is located in a stories table. In votes table each there is a field named vote_value which can be 1 and -1 and depending on what user put for vote (like / dislike).
I need to somehow sum up all records for certain article and if they sum up as 10 or more make article approved. To approve article I have a field in stories table which is named as showing it can have two values 0 – unproved 1 – approved. So somehow I need to make it so once an article gets 10 likes (as a sum of all records from votes table) set showing to 1 (showing is in a stories table).
Preferably without any queries, say make database check for sums of vote_value of article that has a showing = 0 (and ignore ones that have showing = 1, so less server resources are used) . I’m not sure if this is a lot to do for a server, maybe it’s not the most efficient way.
EDIT: Users can un-vote and change vote value if they like (e.g. they liked the post, but they can change it to unlike).
My Database Structure:
stories
votes


What I think will be efficient (depending on the amount of voting):
When a vote is cast:
That last one could be broken up with PHP, because this is a bit of a strange way of doing it.