Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/07/2014, 19:29
darkcl0wn
 
Fecha de Ingreso: febrero-2014
Mensajes: 32
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Enviar formulario desde un bucle while

Perdon por respoder tarde, es que no he tenido tiempo para probarlo, pero hoy si le dedique.
Lo solucione como Myl indico, cree una tabla nueva la cual es esta

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `megusta` (
  2.   `id` INT(20) NOT NULL AUTO_INCREMENT,
  3.   `id_comentario` INT(20) NOT NULL,
  4.   `usuario` VARCHAR(20) NOT NULL,
  5.   PRIMARY KEY (`id`)
  6. ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=32 ;

Y envie los valors a traves de GET por un link

Código HTML:
Ver original
  1. <a href="votar.php?votop=<?=$mostachoca['id']?>&us=<?=$usuario?>">Me gusta</a>

Y este es el archivo que recibe dichos valores que es una prueba porque recien lo acabo de hacer, falta terminarlo pero es para que se note la idea

Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     include('acceso_db.php');
  4.     if(isset($_SESSION['usuario_nombre'])) {
  5. ?>
  6. <?php
  7. include('acceso_db.php');
  8. if(isset($_GET['votop']) && isset($_GET['us']))
  9. {
  10.     if(!empty($_GET['votop']) && !empty($_GET['us']))
  11.     {
  12.       $usuario = $_SESSION['usuario_nombre'];
  13.       $positivo = (int) mysql_real_escape_string($_GET['votop']);
  14.       $usuarioe = mysql_real_escape_string($_GET['us']);
  15.      
  16.      
  17.       if ($usuario == $usuarioe){
  18.         $consulta1 = "SELECT * FROM megusta WHERE id_comentario = '".$positivo."'";
  19.         $query  = mysql_query($consulta1, $cn);
  20.         $resultado = mysql_fetch_array($query);
  21.         if($resultado['usuario'] == $usuario){
  22.             echo "Usted ya ha votado";
  23.         }else{
  24.         $consulta2 = "SELECT * FROM comentariosn WHERE id = '".$positivo."'";
  25.         $query2  = mysql_query($consulta2, $cn);
  26.         $listadoden = mysql_fetch_array($query2);
  27.         if ($listadoden['id'] == $positivo){
  28.             $nuevovoto = "INSERT INTO megusta SET id_comentario = '".$positivo."', usuario = '".$usuario."' ";
  29.             mysql_query($nuevovoto, $cn);
  30.             $masunpunto = "UPDATE comentariosn SET puntosp = puntosp+'1' WHERE id = '".$positivo."'";
  31.             mysql_query($masunpunto,$cn);
  32.             echo "Voto realizado con exito";
  33.         } else{
  34.         echo "El comentario no existe!";   
  35.         }
  36.         }
  37.       }else{
  38.         echo "Oops algo anda mal!";  
  39.       }
  40.    
  41.    
  42.    
  43.     }
  44. }
  45. ?>
  46. <?php
  47.     }else {
  48.         echo "No hay sesion;
  49.    }
  50. ?>

Y la tabla de los comentarios que almacena las votaciones positivas, negativas y el total

Código SQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `comentariosn` (
  2.   `id` INT(11) NOT NULL AUTO_INCREMENT,
  3.   `id_noticia` INT(10) NOT NULL,
  4.   `autor` VARCHAR(100) NOT NULL,
  5.   `fecha` datetime NOT NULL,
  6.   `comment` text NOT NULL,
  7.   `titulo` VARCHAR(20) NOT NULL,
  8.   `puntost` VARCHAR(50) NOT NULL DEFAULT '0',
  9.   `puntosn` VARCHAR(20) NOT NULL DEFAULT '0',
  10.   `puntosp` VARCHAR(20) NOT NULL DEFAULT '0',
  11.   `ip` VARCHAR(100) NOT NULL,
  12.   PRIMARY KEY (`id`)
  13. )

Y bueno, eso es todo. Gracias Myl por la ayuda :)