Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, sou novo no fórum e estou com um problema que está me deixando careca aqui já.
Segui um tutorial na internet e fui fazendo alterações para deixar o código adaptado ao meu site e ele ficou da seguinte forma:
Essa é a parte que mostra os likes e quantas pessoas gostaram de determinada publicação.
<?php
$resultados = get_artigos();
if(count($resultados) == 0) {
echo 'Nenhuma postagem encontrada';
} else {
echo "<ul>";
foreach($resultados as $postagens){
echo '<li class="teste"><p>'.$postagens['assunto'].'</p>
<p><a href="javascript:add_like('.$postagens['id_mensagem'].');" class="like">Like</a> <span id="postagem_'.$postagens['id_mensagem'].'_like">'.$postagens['apoiar'].'</span> Pessoas gostaram disto !</p>
</li>';
}
echo "</ul>";
}
?>
Esse é o arquivo com as funções javascript
function add_like(id_mensagem){
$.post('init/add_like.php', {MSG_INT_ID:id_mensagem}, function(dados)
{
if(dados == 'sucesso')
{
get_like(id_mensagem);
} else {
alert("Você já apoiou esse artigo");
}
});
}
function get_like(id_mensagem){
$.post('init/get_like.php', {MSG_INT_ID:id_mensagem}, function(valor){
$('#postagem_'+id_mensagem+'_like').text(valor);
});
}
Esse é o arquivo teste.php que contém todas as funções.
<?php
function get_artigos()
{
include_once "mysqli_connect.php";
$dbc = conexao();
$postagens = array();
$query = mysqli_query($dbc, "SELECT USU_INT_ID,MSG_INT_ID, MSG_STR_ASSUNTO, MSG_INT_CURTIDA FROM mensagens");
while ($artigo = mysqli_fetch_array($query) ) {
$postagens[] = array(
'id_mensagem' => $artigo['MSG_INT_ID'],
'id_usuario' => $artigo['USU_INT_ID'],
'assunto' => $artigo['MSG_STR_ASSUNTO'],
'apoiar' => $artigo['MSG_INT_CURTIDA']
);
}
return $postagens;
}
function verificar_clicado($id_artigo, $id_usuario)
{
$dbc = conexao();
$id_artigo = (int)$id_artigo;
$id_usuario = (int)$id_usuario;
$query = mysqli_query($dbc, "SELECT CUR_INT_ID FROM curtidas where USU_INT_ID = '$id_usuario' and MSG_INT_ID = '$id_artigo' ");
return (mysqli_num_rows($query) >= 1) ? true : false;
}
function adicionar_like($id_artigo, $id_usuario)
{
$dbc = conexao();
$id_artigo = (int)$id_artigo;
$id_usuario = (int)$id_usuario;
$atualizar_likes_post = mysqli_query($dbc,"UPDATE mensagens SET MSG_INT_CURTIDA = MSG_INT_CURTIDA+1 WHERE MSG_INT_ID = '$id_artigo' ");
if($atualizar_likes_post)
{
$inserir_like = mysqli_query($dbc, "INSERT INTO curtidas (USU_INT_ID, MSG_INT_ID) VALUES ('$id_usuario','$id_artigo')");
} if ($inserir_like)
{
return true;
} else {
return false;
}
}
function retornar_likes($id_artigo)
{
$dbc = conexao();
$id_artigo = (int)$id_artigo;
$selecionar_num_likes = mysqli_query($dbc, "SELECT MSG_INT_CURTIDA FROM mensagens WHERE MSG_INT_ID = '$id_artigo' ");
$fetch_likes = mysqli_fetch_array($selecionar_num_likes);
return $fetch_likes['MSG_INT_CURTIDA'];
}
?>
Esse é o arquivo add_like.php
<?php
include_once "../includes/teste.php";
include_once "../includes/mysqli_connect.php";
session_start();
$id_artigo = (int)$_POST['MSG_INT_ID'];
$id_usuario = (int)$_SESSION['id_usuario'];
if(!verificar_clicado($id_artigo, $id_usuario))
{
if(adicionar_like($id_artigo, $id_usuario))
{
return 'sucesso';
} else {
return 'erro';
}
} else {
return 'erro';
}
?>
E este é o arquivo get_like.php
<?php
include_once "../includes/teste.php";
include_once "../includes/mysqli_connect.php";
session_start();
$id_artigo = (int)$_POST['MSG_INT_ID'];
$id_usuario = (int)$_SESSION['id_usuario'];
$numero_de_likes = retornar_likes($id_artigo);
echo $numero_de_likes;
?>
Sou iniciante em programação e preciso muito terminar isso para um trabalho do curso que estou fazendo.
Carregando comentários...