Ver Mensaje Individual
  #20 (permalink)  
Antiguo 06/04/2010, 15:30
Avatar de reborn
reborn
 
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Un solo voto por usuario

Lamentablemente no pude hacerlo funcionar, me tira error la base de datos pero unicamente me dice mysql_error, entonces fui a la consulta y elimine la parte de id_user = $id y el error ya no aparecia, a lo q me di cuenta q no estaba comprobando el id de usuario.
Explico:

1) tengo por un lado el sistema de registro q, entre otras tablas, esta la tabla authuser q es la q almacena el id de usuario y es la siguiente:

CREATE TABLE `authuser` (
`id` int(11) NOT NULL auto_increment,
`uname` varchar(25) NOT NULL default '',
`passwd` varchar(32) NOT NULL default '',
`team` varchar(25) NOT NULL default '',
`level` int(4) NOT NULL default '0',
`status` varchar(10) NOT NULL default '',
`lastlogin` datetime default NULL,
`logincount` int(11) default NULL,
PRIMARY KEY (`id`)
);

2) despues tengo el sistema de noticias q utiliza dos tablas, una para las categorias y otra para las noticias, q es la q interesa y es la siguiente:

CREATE TABLE `sn_noticias` (
`not_ID` int(11) NOT NULL auto_increment,
`notUser` varchar(25) NOT NULL,
`notTitulo` varchar(255) NOT NULL,
`notTexto` text NOT NULL,
`notVoto` int(20) NOT NULL default '0',
`notPunto` int(20) NOT NULL default '0',
`notCategoriaID` int(11) NOT NULL,
PRIMARY KEY (`not_ID`)
) ENGINE=MyISAM;

*** aca paso a explicar lo siguiente: el script de votos (votar.php) vino con su tabla pero yo la descarte e integre las columnas de la tabla de votos a la tabla de noticias. Como podran ver son: notVoto y notPunto.

3) al plantear el tema de "un solo voto por usuario", me aconsejaron q cree otra tabla y es la q esta mas arriba pero la vuelvo a poner:

CREATE TABLE `votos` (
`id` int(11) NOT NULL auto_increment,
`id_user` int(11) NOT NULL,
`not_ID` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM;


Ok, luego se me plantea la siguiente consulta:

Código:
SELECT COUNT(*) as Voto FROM votos WHERE id_user = $id_del_usuario AND not_ID = $id_de_la_noticia
***obviamente cambie los datos por los de las tablas reales***

...entonces a esa consulta yo la agrego en el archivo q muestra la noticia (visor.php), pero la agregue abajo de todo y luego una condicion como la q me plantea el usuario Annoying y al ponerlo en funcionamiento es cuando me sale el error de mysql...

Y ahi me quede...