Foros del Web » Programando para Internet » PHP »

no me guarda el numero de id de la noticia

Estas en el tema de no me guarda el numero de id de la noticia en el foro de PHP en Foros del Web. hola estoy haciendo un sistema de comentarios , osea que cada comentario se guarde en una determinada noticias donde fue posteada, pero tengo un problema ...
  #1 (permalink)  
Antiguo 04/06/2009, 23:23
Avatar de spolli  
Fecha de Ingreso: diciembre-2008
Mensajes: 68
Antigüedad: 11 años
Puntos: 0
no me guarda el numero de id de la noticia

hola estoy haciendo un sistema de comentarios , osea que cada comentario se guarde en una determinada noticias donde fue posteada, pero tengo un problema , es que los comentarios no se guardan con el numero de id de la noticia y por eso me muestra el mismo comentarios en todas las noticias , no se que sera que estoy haciendo mal

Código PHP:
donde veo la noticia y los comentarios
<? if(isset($_GET['id'])) {

include(
"./conexion.php");


$sql="SELECT * FROM critico WHERE id='".$_GET['id']."'" ;
$consulta=mysql_query($sql);

$sql1="SELECT * FROM comentarios_critico WHERE id='".$_GET['id']."'" ;
$consulta1=mysql_query($sql1);

while(
$mostrar=mysql_fetch_assoc($consulta)) {

echo 
"<div class='titulo'>".$mostrar['titulo']."</div>";
echo 
"<div class='titulo1'>".$mostrar['titulo1']."</div>";
echo 
"<img src=secciones/elcritico/".$mostrar['foto'].">";
echo 
"<div class='cuerpo'>".nl2br($mostrar['cuerpo'])."</div>";
echo 
"<div align='fecha'>".$mostrar['fecha']."</div>";


echo 
'<h2>Comentarios:</h2><br>';
//hago el llamado a la base
$result=mysql_query("SELECT * FROM comentarios_critico where id='$id'",$conexion);
//Bucle while para visualizarlos
while($row=mysql_fetch_assoc($result))
{
echo 
'<h4>Nick: '.$row[nick].':</h4>Email: '.$row[email].'<br>Comentario: '.$row[comentario].'<br><br>';
}
}
}
?> 
<form action="secciones/elcritico/editacomentarios.php" method="post">
<input type="hidden" name="id" value="<?php echo $id;  ?>"><br>
Nick:<br>
<input type="text" name="nick"><br>
E-Mail:<br>
<input type="text" name="email"><br>
Escriba el comentario<br>
<textarea name="comentario" cols="50" rows="10"></textarea>
<br>
<input type="submit" value="Enviar comentario"><br>
</form>
donde se procesa los comentarios
Código PHP:
$id=$_POST['id'];
$nick=$_POST['nick']; 
$email=$_POST['email']; 
$comentario=$_POST['comentario']; 
//conecto a la base 

include("../../conexion.php"); 
$query "INSERT INTO comentarios_critico (id,nick,email,comentario) VALUES('$id','$nick','$email','$comentario')";
mysql_query($query) or die(mysql_error()); 
  #2 (permalink)  
Antiguo 04/06/2009, 23:26
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: no me guarda el numero de id de la noticia

como tienes la estructura de las tablas de la base de datos de noticias y de comentarios?
  #3 (permalink)  
Antiguo 04/06/2009, 23:49
Avatar de spolli  
Fecha de Ingreso: diciembre-2008
Mensajes: 68
Antigüedad: 11 años
Puntos: 0
Respuesta: no me guarda el numero de id de la noticia

La tabla comentarios
CREATE TABLE `comentarios_critico` (
`id` int(4) NOT NULL,
`nick` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`comentario` blob,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

la tabla de las noticias
CREATE TABLE `critico` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`titulo` text CHARACTER SET latin1 NOT NULL,
`cuerpo` text CHARACTER SET latin1 NOT NULL,
`fecha` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`foto` text CHARACTER SET latin1 NOT NULL,
`titulo1` text CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ;
  #4 (permalink)  
Antiguo 05/06/2009, 00:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 6 meses
Puntos: 1517
Respuesta: no me guarda el numero de id de la noticia

cambia momentaneamente el type="hidden" a type="text" y verifica si esta trayendo el id. Si no lo hace es que no hay algo escrito en la variable $id y lo que tienes que hacer es escribirlo de esta forma

$id = $_GET["id"];

lo mas arriba posible. Ya que tambien en el query esta tratando de llamar esa variable que no ha sido declarada anteriormente. Y lo que esta haciendo es buscando todos los id vacios y cuando tratas de escribirlo en el campo hidden tambien lo esta escribiendo vacio por eso insertas id vacios en la base de datos. Por lo tanto te trae en todos las noticias todos los comentarios

Me dejas saber

Última edición por abimaelrc; 05/06/2009 a las 00:18
  #5 (permalink)  
Antiguo 05/06/2009, 00:33
Avatar de spolli  
Fecha de Ingreso: diciembre-2008
Mensajes: 68
Antigüedad: 11 años
Puntos: 0
Respuesta: no me guarda el numero de id de la noticia

gracias, ahi me funciono , gracias era lo del id
lo cambie a $id = $_GET["id"];
  #6 (permalink)  
Antiguo 05/06/2009, 00:59
 
Fecha de Ingreso: diciembre-2008
Mensajes: 102
Antigüedad: 11 años
Puntos: 1
Respuesta: no me guarda el numero de id de la noticia

porq usas un campo blob para almacenar el comentario porq no un campo text ?
  #7 (permalink)  
Antiguo 05/06/2009, 03:16
Avatar de spolli  
Fecha de Ingreso: diciembre-2008
Mensajes: 68
Antigüedad: 11 años
Puntos: 0
Respuesta: no me guarda el numero de id de la noticia

lo cambie el campo blob por text
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 23:13.