Hola, bueno haber debes tomar en cuenta algo, si lo haces por ip, 2 usuarios que comparten la misma computadora no podrian votar, ya que la IP seria la misma yo te recomiendo que lo hagas por la BD de usuarios, es decir algo asi como esto:
BD Post
-id_post
-id_usuario
-titulo
-descripcion
-estatus (puede estar "true","false" osea activo, no activo)
-fecha_creacion
-fecha_actualizacion
BD Votos
-id_votos
-id_post
-id_usuario
-voto (supongamos que es: "0 -Me gusta", " 1 -No me gusta")
BD usuarios
id_usuario
nombre
apellido
estatus (puede estar "true", "false" oseaseee activo, no activo)
Para sacar los post
Código PHP:
Ver originalsqlPost = "SELECT a.*, CONCAT(b.nombre, " ",b.apellido) AS creado
FROM post a, usuarios b
WHERE estatus = true AND a.id_usuario = b.id_usuario";
Te mostará (ejemplo):
id_post: 1
titulo: Test de titulo
descripcion: bla, bla, bla, bla, bla
creado: Juanito Perez
Pero para mostrar los votos deberas hacer:
Código PHP:
Ver originalsqlVotos = "SELECT * FROM votos WHERE id_post = $id_post";
cuando metas en el while para sacar la información del sql, deberas condicionar los votos por "Me gusta" "No me gusta), es decir
Código PHP:
Ver original$megusta = 0; //votos me gusta
$nogusta = 0; //votos no me gusta
$votosraros = 0;
{
if($votos['voto'] == 0)
{
$megusta ++;
}
else if ($votos['votos'] == 1)
{
$nogusta ++;
}
else
{
$votosraros ++; // Ojos si tienes por lo menos 1 voto raro algun funciona mal en el sistema
}
echo "Me gusta: "$megusta;
echo "No me gusta: "$nogusta;
if($votos['id_usuario] == $id_usuario)
{
echo "Ya votaste muchas gracias";
}
else
{
echo 'Te gustaria votar: <a href="vota.php?idusuario='.$id_usuario.'&idpost='.$id_post.'>vota aqui</a>';
}
}
Se pueden agregar muchas otras cosas, pero en fin...
Saludos, espero y te sirva. Bye bye