Código
CREATE TABLE `post` ( `id` int(11) NOT NULL auto_increment, `nombre` varchar(255) collate utf8_unicode_ci NOT NULL, `megusta` int(11) default '0', `ips` text collate utf8_unicode_ci NOT NULL, ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=4 ;
agregue la fila de "megusta" y la de "ips" a mi DB quedando de la siguiente forma
Código
CREATE TABLE `usuarios` ( `usuario_id` int(4) NOT NULL AUTO_INCREMENT, `usuario_matricula` varchar(5) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `usuario_clave` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `usuario_nombre` varchar(60) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `usuario_email` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `sexo` tinyint(6) NOT NULL DEFAULT '0', `usuario_avatar` varchar(250) COLLATE utf8_unicode_ci NOT NULL DEFAULT '', `EstadoKEY` varchar(40) COLLATE utf8_unicode_ci NOT NULL, `CodigoKEY` varchar(40) COLLATE utf8_unicode_ci NOT NULL, `megusta` int(11) NOT NULL DEFAULT '0', `ips` text COLLATE utf8_unicode_ci NOT NULL, `usuario_freg` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=13 ;
ahora les dejo los archivos php que he modificado para que funcionen con mi db
voto.php
Código
<?php $dbhost = "127.0.0.1"; // Servidor $dbuser = "root"; // Nombre de usuario $dbpass = "123456"; // Contraseña $dbname = "usuariosdb"; // Nombre de la base de datos # Creamos conexion a la base de datos # Imprimimos una prueba para dar como ejemplo $sql = "SELECT * FROM usuarios ORDER BY megusta DESC"; ?> <table width="800" border="0" align="center"> <tr> <td width="5%" align="center">ID</td> <td width="63%" align="center">USUARIO</td> <td width="32%" align="center">ME GUSTA</td> </tr> <?php {?> <tr> <td width="5%" align="center"><?=$row['usuario_id']?></td> <td width="63%" align="center"><?=$row['usuario_matricula']?></td> <td width="32%" align="center">[<a href="index.php?page_id=megusta&voto=positivo&id=<?=$row['usuario_id']?>">Me gusta</a>] <?=$row['megusta']?> [<a href="index.php?page_id=megusta&voto=negativo&id=<?=$row['usuario_id']?>">No me gusta</a>]</td> </tr> <?php } ?> </table>
y aca el script que hace todo
megusta.php
Código
<?php $dbhost = "127.0.0.1"; // Servidor $dbuser = "root"; // Nombre de usuario $dbpass = "123456"; // Contraseña $dbname = "usuariosdb"; // Nombre de la base de datos # Creamos conexion a la base de datos # Saber si el voto es negativo o positivo # Tomamos el id de nuestro post y vemos todas las ip que pusieron megusta $usuario_id = (int) $_GET['usuario_id']; $query = mysql_query("SELECT usuario_id,ips FROM usuarios WHERE usuario_id='".$usuario_id."'",$link); $ip = $row['ips']; # Obtenemos la ip de nuestro visitante if ($HTTP_X_FORWARDED_FOR == "") { } else { } # Me gusta o No me gusta switch($voto) { case "positivo"; if($query) { if(!$arr) { mysql_query("UPDATE usuarios SET megusta=megusta+1, ips=CONCAT(usuarios.ips,'".$ipp.",') WHERE usuario_id='".$usuario_id."'",$link); } } break; case "negativo"; if($query) { if(!$arr) { mysql_query("UPDATE usuarios SET megusta=megusta-1, ips=CONCAT(usuarios.ips,'".$ipp.",') WHERE usuario_id='".$usuario_id."'",$link); } } break; } ?>
el archivo voto.php muestra un ranking donde muestra a todos los usuarios registrados y a un costado te aparecen 2 links para darle megusta o no me gusta y enmedio de esos 2 sale la cantidad de votos que ha recibido pero al precionar sobre alguno de esos 2 links no da ni quita nada y siempre queda en 0 la unica forma de darle votos es manualmente mediante el phpmyadmin y el ranking voto.php si los muestra
no estoy seguro si tenga algo mal mi DB o mi modulo de registro que tenga que ver con la IP o el link que me genera el voto.php no funcione ese es mi unico problema que al precionar no da los votos y ya no se que más hacer ya he movido casi todo y nada espero me puedan ayudar con este problema que tengo
por las dudas aca les dejo el sistema modular que tengo en el index.php
Código
<?php include("modulos/news.php"); } else { switch ($_GET['dir']) { default: $dir = "modulos/".$_GET['page_id'].".php"; break; } include($file); } else { echo '<table border=0 cellpadding=0 cellspacing=0> <tr> <td width=85%>'.text_site_module.'</td> </tr> </table>'; } } ?>