PHP'de beğen/beğenme sisteminde sorun var

0

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ı -  http://www.dosya.tc/server10/qp4qmh/likeunlike.zip.html

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="{{{PHP3}}}">
	  <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="{{{PHP6}}}">
  <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);
?>

 

cdreal cdreal (1)
7 yıl önce sordu

    Toplam 0 Cevap


    üyelik gerektirir

    Cevap yazabilmek için üye girişi yapmalısınız.

    Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
    uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol