Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Hacer sistema de likes

Estas en el tema de Hacer sistema de likes en el foro de PHP en Foros del Web. Hola buenas estoy desarrollando el código de un foro desde cero y ya lo único que me falta es el sistema de likes... La verdad ...
  #1 (permalink)  
Antiguo 27/07/2013, 07:31
 
Fecha de Ingreso: julio-2011
Ubicación: Canarias
Mensajes: 171
Antigüedad: 12 años, 9 meses
Puntos: 4
Pregunta Hacer sistema de likes

Hola buenas estoy desarrollando el código de un foro desde cero y ya lo único que me falta es el sistema de likes...
La verdad tengo un lío tremendo, yo lo que tenía pensado era poner una columna en el sql que llevara una cuenta de los likes, y cada vez que alguien pulse el botón de la web se sume un like, pero el problema es que de este modo una persona puede hacer like indeterminadas veces.
La verdad es un problema del que me gustaría tener una solución.
Gracias
  #2 (permalink)  
Antiguo 27/07/2013, 08:51
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 10 años, 9 meses
Puntos: 9
Respuesta: Hacer sistema de likes

Hola, lo puedes hacer mediante una cookie y así compruebas si la cookie ya existe y en ese caso no le dejas hacer más "likes".

Eso sí, puede acceder mediante otro browser o simplemente eliminar las cookies y volver a pulsar otro "like" más.

Saludos.
  #3 (permalink)  
Antiguo 27/07/2013, 08:55
 
Fecha de Ingreso: febrero-2013
Mensajes: 65
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Hacer sistema de likes

Tiene un sistema de sesiones??? O simplemente puede acceder cualquiera?
  #4 (permalink)  
Antiguo 27/07/2013, 08:57
 
Fecha de Ingreso: julio-2011
Ubicación: Canarias
Mensajes: 171
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Hacer sistema de likes

En efecto, hay un sistema de sesiones
  #5 (permalink)  
Antiguo 27/07/2013, 09:00
 
Fecha de Ingreso: febrero-2013
Mensajes: 65
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Hacer sistema de likes

Y bueno, si cada usuario tiene una sesion.. deberías tener un registro de los usuarios en una tabla.. genera una columna BIT.. si esta en 0 quiere decir que no dio like, si está en 1 quiere decír que sí...luego realizas la validación.. if ($valor==0) {actualizas a 1 } sino no :) ?¿
  #6 (permalink)  
Antiguo 27/07/2013, 09:24
 
Fecha de Ingreso: julio-2011
Ubicación: Canarias
Mensajes: 171
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Hacer sistema de likes

mmm... si pero el problema es que hay cientos de posibles "temas" a los que puedes darle like
  #7 (permalink)  
Antiguo 27/07/2013, 16:59
 
Fecha de Ingreso: febrero-2013
Mensajes: 65
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Hacer sistema de likes

Generar una tabla de "Temas" estaría de más? con un id_usuario.. y que las marcas se realicen por tema+usuario..?
  #8 (permalink)  
Antiguo 27/07/2013, 17:23
Avatar de juanito1712  
Fecha de Ingreso: mayo-2010
Ubicación: Valencia
Mensajes: 1.124
Antigüedad: 13 años, 11 meses
Puntos: 66
Respuesta: Hacer sistema de likes

todo depende de la longevidad y la "importancia" de esos likes... mira por ejemplo asco de vida, ese like es un like que de aqui 4 dias ya no volveras a ver y no importa a quien le gusta o le dejó de gustar algo, ahi se almacena con una cookie que no caduque para evitar una doble pulsacion y el contador se lleva con la base de datos, pero si esperas que haya una longevidad y/o se recuerde a los usuarios que han dado a like, me da que no te queda otra que hacer una tabla intermedia de temas-usuarios, para hacer una relacion muchos a muchos, y almacenar que usuario le gusto que tema, creo que es a lo que se refiere tomibolo
  #9 (permalink)  
Antiguo 28/07/2013, 09:52
 
Fecha de Ingreso: julio-2011
Ubicación: Canarias
Mensajes: 171
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Hacer sistema de likes

tengo la solución, he creado una en la tabla temas he creado una columna que se llama usuarios y otra que se llama likes.
Lo que he hecho es cada vez que alguien de a positivo se sume un punto a like y se añada el nombre de usuario con el que se ha hecho el punto más una coma, de modo que por ejemplo si carlos y andrés han hecho like la columna usuarios quedaría de esta manera: carlos, andrés,
y la columna likes así: 2
El mismo modo para unlikes...
Pero antes de que suceda esto, al darle a like o unlike, el código necesita saber si tu usuario ya ha hecho like o unlike, por lo que consultará la columna usuarios a ver si está el suyo.
  #10 (permalink)  
Antiguo 28/07/2013, 09:57
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: Hacer sistema de likes

Yo lo haria de esta forma!..ya como tu dices para minimizar las tablas! pues crearia otro campo en la tabla donde es creado el post y alli seria algo asi como por ejemplo likes_array
alli guardo en forma de array los usuarios que dieron al boton like o sea su id! luego para saber si le dio like o no! consulto el campo y mediante funciones de array verifico si esta el id o no alli....y para saber cuantos like fueron con la funcion count de php para los array puedo saberlo! de esa forma solo consumiria mas recursos del PHP y menos de la base de datos! :D
  #11 (permalink)  
Antiguo 28/07/2013, 10:00
 
Fecha de Ingreso: julio-2011
Ubicación: Canarias
Mensajes: 171
Antigüedad: 12 años, 9 meses
Puntos: 4
Respuesta: Hacer sistema de likes

si eso es justamente lo que puse yo, jaja, habremos coincidido al escribir el post

Etiquetas: likes, sistema, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:09.