Php Beğen-Beğenme Sistemi Sorun

Merhaba Arkadaşlar.

Bir blog scripti yazmak üzereyim konu içinde beğen-beğenme gibi bir button ekle bu butonları işlevini ben yapmadım internette buldum hazır olarak ekledim lakin böyle bir sorunla karşılaşıyorum sorundan ziyedasi örnek olara resim'de ki konu gibi blog sitemde 4 konu ekli dört konun'da beğeni buttonu aynı sayfalarda var bunu bir foksiyona birtürlü atıyamadım mantığını bilmiyorum mesela her buttonun ayrı bir konuda olması lazımken neden tüm konularda hepsi gözüküyor.

Demek istediğim bu aşığıda verdiğim sistemi her bir konun kendine ailt beğeni butonlarını nasıl verebilirim.

Örnek: konular adında bir tablom var konular tablomda ki bu beğeni sistemine ait olan bir tabloyu nasıl bağlaştıra bilirim bir foksiyonla.

Via-Alıntı - likeunlike.zip

 

Konun içinde ki button kodları.

<?php
  $userid = 5;
  $query = "SELECT * FROM content";
  $result = mysql_query($query);
  while($row = mysql_fetch_array($result)){
	$postid = $row['content_id'];
	$title = $row['content_hood'];
	$content = $row['content'];
	$type = -1;

	// Checking user status
	$status_query = "SELECT count(*) as cntStatus,type FROM like_unlike WHERE userid=".$userid." and postid=".$postid;
	$status_result = mysql_query($status_query);
	$status_row = mysql_fetch_array($status_result);
	$count_status = $status_row['cntStatus'];
	if($count_status > 0){
		$type = $status_row['type'];
	}

	// Count post total likes and unlikes
	$like_query = "SELECT COUNT(*) AS cntLikes FROM like_unlike WHERE type=1 and postid=".$postid;
	$like_result = mysql_query($like_query);
	$like_row = mysql_fetch_array($like_result);
	$total_likes = $like_row['cntLikes'];

	$unlike_query = "SELECT COUNT(*) AS cntUnlikes FROM like_unlike WHERE type=0 and postid=".$postid;
	$unlike_result = mysql_query($unlike_query);
	$unlike_row = mysql_fetch_array($unlike_result);
	$total_unlikes = $unlike_row['cntUnlikes'];

?>
<div class="post">
<div class="like_unlike">
  <div id="like_<?php echo $postid; ?>" class="like btn btn-default" style="<?php if($type == 1){ echo "color: #398439;"; } ?>">
	  <i class="fa fa-thumbs-o-up fa-lg"></i><span id="likes_<?php echo $postid; ?>"></span>
  </div>
<div id="unlike_<?php echo $postid; ?>" class="unlike btn btn-default" style="<?php if($type == 0){ echo "color: #d9534f;"; } ?>">
  <i class="fa fa-thumbs-o-down fa-lg"></i><span id="unlikes_<?php echo $postid; ?>"></span>
</div>
</div>
<?php } ?>

Jqeury kodları.

$(document).ready(function(){

    // like and unlike click
    $(".like, .unlike").click(function(){
        var id = this.id;   // Getting Button id
        var split_id = id.split("_");

        var text = split_id[0];
        var postid = split_id[1];  // postid

        // Finding click type
        var type = 0;
        if(text == "like"){
            type = 1;
        }else{
            type = 0;
        }

        // AJAX Request
        $.ajax({
            url: 'likeunlike.php',
            type: 'post',
            data: {postid:postid,type:type},
            dataType: 'json',
            success: function(data){
                var likes = data['likes'];
                var unlikes = data['unlikes'];



                if(type == 1){
                    $("#like_"+postid).css("color","#398439");
                    $("#unlike_"+postid).css("color","#ccd6dd");
                    swal("Beğendim!", "", "success");
                }

                if(type == 0){
                    $("#unlike_"+postid).css("color","#d9534f");
                    $("#like_"+postid).css("color","#ccd6dd");
                    swal("Beğenmedim!", "", "error");
                }


            },
            error: function(data){
                alert("error : " + JSON.stringify(data));
            }
        });

    });


});

Ajax kodları.

<?php

require_once "system/config.php";

$userid = 5;
$postid = $_POST['postid'];
$type = $_POST['type'];

// Check entry within table
$query = "SELECT COUNT(*) AS cntpost FROM like_unlike WHERE postid=".$postid." and userid=".$userid;

$result = mysql_query($query);
$fetchdata = mysql_fetch_array($result);
$count = $fetchdata['cntpost'];


if($count == 0){
    $insertquery = "INSERT INTO like_unlike(userid,postid,type) values(".$userid.",".$postid.",".$type.")";
    mysql_query($insertquery);
}else {
    $updatequery = "UPDATE like_unlike SET type=" . $type . " where userid=" . $userid . " and postid=" . $postid;
    mysql_query($updatequery);
}


// count numbers of like and unlike in post
$query = "SELECT COUNT(*) AS cntLike FROM like_unlike WHERE type=1 and postid=".$postid;
$result = mysql_query($query);
$fetchlikes = mysql_fetch_array($result);
$totalLikes = $fetchlikes['cntLike'];

$query = "SELECT COUNT(*) AS cntUnlike FROM like_unlike WHERE type=0 and postid=".$postid;
$result = mysql_query($query);
$fetchunlikes = mysql_fetch_array($result);
$totalUnlikes = $fetchunlikes['cntUnlike'];


$return_arr = array("likes"=>$totalLikes,"unlikes"=>$totalUnlikes);

echo json_encode($return_arr);
?>

 

 

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git