Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/10/2012, 04:58
Avatar de paxarin
paxarin
 
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: crear una zona de comentarios para la web usando JOIN (php)

Muy buenas esto es lo que estoy intentando hacer para la zona de comentarios de la web tal y como te comete.
Estructura de tabla para la tabla `tblcategorias`
Código:
CREATE TABLE IF NOT EXISTS `tblcategorias` (
  `id` int(10) unsigned NOT NULL,
  `categoria` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
) 
ENGINE=InnoDB DEFAULT CHARSET=latin1;
Estructura de tabla para la tabla `tblcomentario`
Código:
CREATE TABLE IF NOT EXISTS `tblcomentario` (
  `id` int(10) unsigned NOT NULL,
  `co_categoria` varchar(30) NOT NULL,
  `co_nombre` varchar(20) NOT NULL,
  `co_mail` varchar(100) NOT NULL,
  `co_web` varchar(100) NOT NULL,
  `co_comentario` varchar(200) NOT NULL,
  PRIMARY KEY (`id`)
) 
ENGINE=InnoDB DEFAULT CHARSET=latin1;
para insertar los datos en la tabla
Código:
<form method="post" action="enviar-comentario.php?categoria=gente" id="form1" >
    <input type="text" name="nombre" />
    <input type="text" name="mail" />
    <input type="text" name="web" />
    <input type="text" name="msg" />
    <input type="submit" value="enviar" />
</form>
comentario.php
Código:
mysql_query("INSERT INTO tblcomentario (co_nombre, co_mail, co_web, co_comentario, co_categoria)
        VALUES ('{$_POST['nombre']}','{$_POST['mail']}','{$_POST['web']}','{$_POST['msg']}','{$_GET['categoria']}')",$conexion);
		if (mysql_errno($conexion))
		{
			echo "No se pudo insertar los datos en la tabla. Error" .mysql_errno() ." - ".mysql_error();
			mysql_close($conexion);
		}	else{
			$conexion;
			header("location:index.php");
Y para sacar los comentarios de la sección gente
Código:
$rst_oferta=mysql_query("SELECT * FROM tblcategorias LEFT JOIN tblcomentario  WHERE co_categoria = 'gente';",$conexion);
$num_registros=mysql_num_rows($rst_oferta);
if ($num_registros==0)
{
        echo "No hay resultados para mostrar y seguro que ocurrio algo!!";
        mysql_close($conexion);
        exit();
}
Y la verdad que no se donde esta el error ya que estuve probando varias cosas pero no consigo sacarlo.
Si lo que intento es sacar todos los comentarios no hay problema.
Código:
$rst_oferta=mysql_query("select co_nombre, co_mail, co_web, co_comentario, co_categoria from tblcomentario join tblcategorias on categoria=co_categoria;",$conexion);
$num_registros=mysql_num_rows($rst_oferta);
if ($num_registros==0)
{
        echo "No existen productos para mostrar";
        mysql_close($conexion);
        exit();
}

<table border="0" cellpadding="0" cellspacing="0" class="tabla">
                <tr>
                	<th>Nombre</td>
                    <th>Email</td>
                    <th>web</td>
                    <th>Comentario</td>
                    <th>Categoria</td>
                </tr>
                <?php
                                while ($fila=mysql_fetch_array($rst_oferta))
                                {
                ?>
                <tr class="modo1">
                	 <th><?php echo $fila ["co_nombre"];?></td>
                    <th><?php echo $fila ["co_mail"];?></td>
                    <th><?php echo $fila ["co_web"];?></td>
                    <th><?php echo $fila ["co_comentario"];?></td>
                    <th><?php echo $fila ["co_categoria"];?></td>
                </tr>
                                <?php
                                }
                ?>
            </table>
Cual es el error?
Haber si acabo de una vez con esto!!
Un saludo
__________________
http://www.paxarindesign.es