First, we should maintain the rate count in the database separately for each record (whichever we are going to rate). For this we can use a separate column for this, which will be referred to as rating in this post.
Basically, what is to be done is to increment the rating, which should be 0 by default, by one each time the +1 button is clicked and to decrement when the -1 button is clicked.
if(isset($_GET['postIdPlus'])) //if plus button is clicked
{
$sql1="UPDATE posts SET rating=rating+1";
$result1=mysqli_query($conn,$sql1);
}
if(isset($_GET['postIdMinus'])) //if minus button is clicked
{
$sql1="UPDATE posts SET rating=rating-1";
$result1=mysqli_query($conn,$sql1);
}
When there are many posts, we should distinguish which post was rated. For this purpose, we shall embed the post_id (retrieved from the database along with the other details) to the URL.
echo "<a href=\"tview.php?postIdPlus=$postId\"><img src=\"Images/1up.png\"></a>
<div style=\"width:100%\">$count</div>
<a href=\"tview.php?postIdMinus=$postId\"><img src=\"Images/1d.png\"></a>";
Once the image (link) is clicked the corresponding post_id will be embeded in the URL.
To get the value in the URL and update the count below is the complete code.
if(isset($_GET['postIdPlus']))
{
$post=$_GET['postIdPlus'];
$sql1="UPDATE posts SET rating=rating+1 WHERE post_id='$post'";
$result1=mysqli_query($conn,$sql1);
}
if(isset($_GET['postIdMinus']))
{
$post=$_GET['postIdMinus'];
$sql1="UPDATE posts SET rating=rating-1 WHERE post_id='$post'";
$result1=mysqli_query($conn,$sql1);
}
Comments
Post a Comment