v2.5.2
Giriş yap

Yazıyı Oylama

ferdi
732 defa görüntülendi

Merhabalar, yazılarda oylama mantığını nasıl yapabilirim.

Yani diyelim bir yazım var, şimdi bir kullanıcı gelecek +1 ekleyecek oy sayısı 29 olacak. Sonra diğer 1 kullanıcı eğer -1 yaparsa yani eksi verirse oy sonucu 28'e düşsün istiyorum.

Bununla birlikte bir kere oy kullanan bir daha kullanamasın. Yani adam gelip 5 kere eksiye basamasın. 1 kere bassın istiyorum. Ya eksiye ya da artıya bassın olay bitsin orada.

Bunun mantığı tam olarak nasıl olmalı acaba?

Şimdiden yardımcı olanlara teşekkürler.

ferdi
1617 gün önce

Şu şekilde yaptım, şu anda çalışıyor bu kod ancak bunu yapmak mantıklı mı yoksa daha kısa bir yolu var mı?

if(isset($_GET['avote'])){
    $exe = $db->prepare('SELECT * FROM votes WHERE user_id = :user_id AND post_id = :post_id');
    $exe->bindParam(':user_id', $user_id);
    $exe->bindParam(':post_id', $post_id);
    $exe->execute();
    $getExe = $exe->rowCount();

    if($getExe < 1){
        $vote = $db->prepare('INSERT INTO votes SET post_id = ?, user_id = ?, value = ?');
        $ok = $vote->execute([$post_id, $user_id, '+']);
    
        if($ok){
            echo 'Başarıyla eklendi!';
        }else{
            echo 'Hata oldu!';
        }    
    }else{
        echo 'daha önce oy kullanmışsın!';
    }
}