Foros del Web » Programando para Internet » PHP »

sistema de voto php

Estas en el tema de sistema de voto php en el foro de PHP en Foros del Web. hola amigos espero que me colaboren como siempre tengo en la mente la idea de hacer un sistema de votos para mis anuncios que los ...
  #1 (permalink)  
Antiguo 22/01/2010, 21:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
De acuerdo sistema de voto php

hola amigos espero que me colaboren como siempre

tengo en la mente la idea de hacer un sistema de votos para mis anuncios que los clientes califiquen los anuncio mendiante dos botones uno y el otro dandole al un valor de 1 y al -1 y mostrar el resultado.

1 si se puede hacer el sistema de esa forma
2 como deberia especificar mi tabla de mysql en la bb para q me funciones

obvio debo poner el id_anuncio para identificar.

3 como puedo hacer para que si voton 100 veces no crean 100 registros sino q estos se vallan sumando , no se como hacerlo.

espero que me puedan colaborar
  #2 (permalink)  
Antiguo 22/01/2010, 21:47
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: sistema de voto php

Si... se puede... Podrias pasar por $_GET si el boto es positivo o negativo y de ahi hacer un insert a la DB

DB: poll_id - nid (id de la noticia, o donde sea que este el sistema de votos) - v_aff - v_neg

poll_id seria autoincrement , nid seria un id que vos insertas en la DB...

De la forma que vos lo queres hacer, podrias hacer algo asi como Votos a favor: X - Votos en contra: X

Bueno, para eso, cada vez que un usuario vota haces un update a la DB, dependiendo de lo que recivas por $_GET (1 o 0)

Código PHP:
if($_GET['voto'] === 1){
mysql_query("UPDATE `encuesta` set v_aff = v_aff+1 WHERE nid = '$nid' "); //Siendo $nid el id de la noticia o lo que sea donde este la encuesta.
}else{
mysql_query("UPDATE `encuesta` set v_neg = v_neg+1 WHERE nid = '$nid' ");

O algo asi, usa la imaginacion.
Si queres un sistema ya echo, anda a ofertas de empleo

Última edición por bioxido; 22/01/2010 a las 21:57
  #3 (permalink)  
Antiguo 22/01/2010, 21:48
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sistema de voto php

A mi se me ocurre esto:

1) Creas una tabla con los siguientes campos

id_anuncio -> tinyint(2) (NO ES PK)

tipo_voto -> VARCHAR(3)

cantidad_votos -> integer(4) (ponele mas si queres)

Fijate que tendria 2 filas esta tabla, la que corresponde a los votos + y la de los votos -, ambas con el mismo id_anuncio

2) Cuando alguien vota, para ingresar el valor votado, haces que se sume 1 a la cantidad de votos que corresponda, por ejemplo

si alguien vota a favor, la consulta seria

Código SQL:
Ver original
  1. UPDATE votos SET cantidad_votos = cantidad_votos + 1 WHERE tipo_voto = '1' AND id_anuncio = 'tuID';

Y en contra seria:

Código SQL:
Ver original
  1. UPDATE votos SET cantidad_votos = cantidad_votos + 1 WHERE tipo_voto = '-1' AND id_anuncio = 'tuID';

Entonces despues, si queres mostrar los resultados, lo unico que haces es hacer una consulta del tipo

Votos a favor:

Código SQL:
Ver original
  1. SELECT cant_votos FROM votos WHERE id_anuncio = 'tuID' AND tipo_voto = '1';

Votos en contra

Código SQL:
Ver original
  1. SELECT cant_votos FROM votos WHERE id_anuncio = 'tuID' AND tipo_voto = '-1';

Para mostrar el porcentaje (por ejemplo) seria una simple cuenta... Sumas las cantidades totales de votos y eso seria el 100%, luego es una regla de 3 simple con las cantidades individuales...
__________________
HV Studio
Diseño y desarrollo web
  #4 (permalink)  
Antiguo 23/01/2010, 08:01
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: sistema de voto php

men te entiendo pero pregunta que la parte de el formulario q debo hacer ? me explica el procedimiento ya tengo la tabla

id_anuncio

tipo_voto -

cantidad_votos ->

debo hacer un insert o con un update se puede no se si me entienda pues yo se q demo enviar el id_anuncio con una sql para saber en cual anuncio estoy luego de eso q debo hacer
  #5 (permalink)  
Antiguo 23/01/2010, 08:03
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sistema de voto php

El id_anuncio te cumple la funcion de filtro, o sea, vas a actualizar los campos en tu tabla segun el voto y el id_anuncio!
O sea, el id_anuncio lo que hace es distinguir entre los distintos anuncios que tengas. Y luego si en un anuncio se voto + buscas el tipo de voto +, y viceversa

La consulta es exactamente la q t escribi antes:

Código SQL:
Ver original
  1. UPDATE votos SET cantidad_votos = cantidad_votos + 1 WHERE tipo_voto = '-1' AND id_anuncio = 'tuID';
__________________
HV Studio
Diseño y desarrollo web
  #6 (permalink)  
Antiguo 23/01/2010, 08:12
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: sistema de voto php

si te entiendo eso ya puse el update pero fijate q en el formulario solo tengo la actualizacion y la tabla de mi bd esta vacia y lleno el formulario ej:
id_anuncio = 300
tipo_voto= 1
cantidad_votos= 1

y envio a mi bd y no pasa nada.

pero si dentro de mi bd inserto este registro el sistema de update de hace una suma en cantidad_votos, entonces me voy al form y hago un insert pero q pasa? ps por cada ver q le doy este me genera otro registro y cambien suma. la cantidad_votos.
pues la idea es q por aca id_anuncio solo haya max 2 registros.

gracias
  #7 (permalink)  
Antiguo 23/01/2010, 08:14
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sistema de voto php

Y si, pero no tenes que INSERTAR tenes que ACTUALIZAR
__________________
HV Studio
Diseño y desarrollo web
  #8 (permalink)  
Antiguo 23/01/2010, 08:18
 
Fecha de Ingreso: febrero-2009
Mensajes: 489
Antigüedad: 15 años, 2 meses
Puntos: 8
Respuesta: sistema de voto php

ahah entonces no se debe hacer insert solo el update pero jackson666 como le hago para cuando haga el update este me cree el id_anuncio y pues se sume cantidad_total porq asi como usted dise me suma pero previamente debo de tener ya registrado el id_anuncio.
  #9 (permalink)  
Antiguo 23/01/2010, 08:27
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sistema de voto php

Bueno mira, las cosas tienen un limite... Si no tenes imaginacion, ni creatividad yo el trabajo no t lo voy a hacer....
Disculpa la sinceridad, pero es asi
El id_anuncio ponelo A MANO, o sino cuanod se vota por 1er vez haces un INSERT en vez de un UPDATE y listo

No contesto mas este tema
__________________
HV Studio
Diseño y desarrollo web

Etiquetas: sitemap, votos
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 14:22.