Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola, eu estou criando um sistema básico de postagens e gostaria de criar um sistema de likes
O código que eu uso para dar like é esse:
Uso um sistema de página
$pegaId = $_GET['id']; // Variável que pega o ID
<?php echo $atualizalikes = mysql_query("UPDATE posts SET likes = likes + 1 WHERE id = '$idPost'");?>
Mas fica duplicando os likes, a pessoa lica uma vez e vai 2 likes, ou até 3, não sei oque é já fiz de diversas formas, não sou programador, só uso um pouco da lógica para tentar programar...
Gostaria que ao a pessoa clicar no botão de like ele já adicionasse o like que a pessoa deu...
Eu já tentei adicionar o código no href mais não funcionou =//
Meu código inteiro:
<?php
$pegaId = $_GET['id'];
$seleciona = mysql_query("SELECT * FROM postagens WHERE id = '$pegaId' LIMIT 1");
$conta = @mysql_num_rows($seleciona);
if($conta <= 0){
echo "<center>ID Invalido, por favor volte ao site e procura uma frase valida ou contacte um administrador!</center>";
}else{
while($ln = mysql_fetch_array($seleciona)){
$idPost = $ln['id'];
$titulo = $ln['titulo'];
?>
Aqui fica o meu site...
<?php echo $atualizalikes = mysql_query("UPDATE postagens SET likes = likes + 1 WHERE id = '$idPost'");?>
<?php }} ?>
Desde já...Como assim?
Não entendi muito bem...
<?php echo $atualizalikes = mysql_query("UPDATE postagens SET likes = likes + 1 WHERE id = '$idPost'");?>
<?php }} ?>
Este echo é da página like.php
Quado a pessoa clicar na imagem de like ela seria redirecionada para o like.php e adicionaria o like no post onde id = $IdPost ...Você está printando a execução da query. Isso não funciona, pode tirar o echo. Monta um select para ver quantos likes tem, tipo:
$qr = mysql_query("SELECT likes FROM postagens") or die(mysql_error());
$rs = mysql_fetch_array($qr);
$total = $rs['likes'] + 1;
// Agora sim atualiza
$atualizalikes = mysql_query("UPDATE postagens SET likes = '$total' WHERE id = '$idPost'");Bom para resolver seu problema é bem simples crie mais uma tabela em seu banco de dados para armazenar as pessoas que curtirão a postagem. Lembrando que para isso de maneira correta o usuario tera que estar logados no sistema, caso seja uma area publica você tera que criar um bloqueio por cookies e pelo ip o que pode facilmente burlado....
Obrigado Sr Allex Carvalho, funcionou ;)
Porque deste echo?
Você precisa antes de mais nada contar quantos likes tem. E depois somar mais um, só isso.