хорошо, у меня есть сценарий как / не нравится. Когда я нажимаю «нравится» или «нет», запрос php выполняется дважды. Я пробовал несколько вещей, но я не понимаю, почему.
Вот мой php запрос.
$query = "SELECT * FROM like_unlike WHERE postid=".$postid." and userid=".$userid;
$req = $bdd->prepare($query);
$req->execute();
$array = $req->fetchALL();
$count = count($array);
if($count == 0){
$insertquery = "INSERT INTO like_unlike(userid,postid,type)
values(".$userid.",".$postid.",".$type.")";
$insertquery = $bdd->prepare($insertquery);
$insertquery->execute();
и вот мой js файл
$(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'];
var difflikes = data['likes'] - data['unlikes'];
$("#likes_"+postid).text(likes); // setting likes
$("#unlikes_"+postid).text(unlikes);
$("#difflikes_"+postid).text(difflikes); // setting unlikes
}
});
});
HTML:
<img src="<?= $chemin ?>img/up.png" value="Like" id="<?php echo $id_vote_like; ?>"
class="img_vote_up zoom <?= $class_vote_like ?> " style="" /> <?= $log_e ?>
<span id="difflikes_<?php echo $postid; ?>" class="nb_votes"><?php echo $likes_d; ?>
</span>
<?= $log_i ?>
<img src="<?= $chemin ?>img/down.png" value="Unlike" id="<?php echo
$id_vote_unlike; ?>" class="<?= $class_vote_unlike ?> img_vote_down zoom" style=""
/> <?= $log_e ?>
У кого-нибудь есть идеи?