Foros del Web » Programando para Internet » PHP »

Sistema de comentarios

Estas en el tema de Sistema de comentarios en el foro de PHP en Foros del Web. Hola otra vez!!! todavia estoy con lo del sistema de noticias. Las noticias ya se muestran y se insertan bien, ahora solo me falta los ...
  #1 (permalink)  
Antiguo 22/06/2006, 13:08
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
Sistema de comentarios

Hola otra vez!!!
todavia estoy con lo del sistema de noticias. Las noticias ya se muestran y se insertan bien, ahora solo me falta los comentarios .

tabla noticias:
id_noticia
titulo
autor
categoria
articulo


tabla comentarios:
id
id_padre(este es el de las noticias)
nick
mail
comentario

Página que muestra los articulos:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<?php
include("conexion.php");
$result=mysql_query("select * from noticias "$conexion);
while(
$row=mysql_fetch_array($result)){
?>
<p><? echo $row[titulo]; ?></p>
<p><? echo $row[articulo]; ?></p>
<? 
$result2
=mysql_query("select * from comentarios "$conexion);
$totalcomentarios=mysql_num_rows($result2); ?>
<p><? echo '<a href="comentarios.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.')</a>'?> </p>
</body>
</html>
<? ?>
Página que muestra las noticias y formulario:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<p>
<?php
//recibimos la variable
include("conexion.php"); ?><br />
</p>
<form id="form1" name="form1" method="post" action="<?=$PHP_SELF?>">
  <label>autor
  <input name="nick" type="text" id="nick" />
  </label>
  <p>
    <label>mail
    <input name="email" type="text" id="email" />
    </label>
  </p>
  <p>
    <label>comentario
    <textarea name="comentario" id="comentario"></textarea>
    </label>
    <label>
    <input name="enviar" type="submit" id="enviar" value="Enviar" />
    </label>
  </p>
</form>
<? 
if($_POST[enviar]){
        if(
$_POST[nick]==""){ $nick=="Anónimo"; } 
        
mysql_query("insert into comentarios (id_padre, nick, comentario, mail) values ('$_pos[id_noticia]','$_POST[nick]','$_POST[comentario]','$_POST[email]')"$conexion);
        }
$result=mysql_query("select * from comentarios where id_padre='$id_noticia'",$conexion); 
while(
$row=mysql_fetch_array($result)){
?>
<p><strong>Nick:</strong><? echo $row[nick];?></p>
<p><strong>E-mail:</strong><? echo $row[mail];?></p>
<p><strong>Comentario:</strong><? echo $row[comentario];?></p>
<? }
    
mysql_free_result($result);
    
mysql_close();?>


<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp; </p>
</body>
</html>

el problema esta que en la pagina donde muestra los articulos, en el vinculo de comentarios() me muestra en todas las noticias los mismos comentarios,
¿como le indico que cada noticia tenga sus propios comentarios? ¿en que falla mi codigo?

a ver si me ayuda alguien, muchas gracias
  #2 (permalink)  
Antiguo 24/06/2006, 11:59
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
Ayuda!!!
alguien me puede explicar lo de pasar el ID, es que no me entero :(
  #3 (permalink)  
Antiguo 24/06/2006, 12:10
Avatar de macabro  
Fecha de Ingreso: enero-2003
Ubicación: venus >> ((_\
Mensajes: 254
Antigüedad: 21 años, 2 meses
Puntos: 1
Creo que deberias usar o captar el ID cuando seleccionas los comentarios
SELECT * FROM comentarios WHERE id_padre=$id
  #4 (permalink)  
Antiguo 24/06/2006, 12:38
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
a ver...
pregunta:
1. cuando pongo un enlace de comentarios
Código PHP:
<a href="comentarios.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.'
el ID puede ser lo que yo quiero que sea? y ese ID es el que tengo que poner cuando muestro las consultas SELECT * COMENTARIOS WHERE ID_NOTICIA=$ID_QUE_HE_PUESTO_ANTES ?

2.he puesto lo que me has dicho pero pasa lo mismo, me sale el mismo numero de comentarios en todos los articulos.
codigo:
Código PHP:
<?php
include("conexion.php");
$result=mysql_query("select * from noticias "$conexion);
while(
$row=mysql_fetch_array($result)){
?>
<p><? echo $row[titulo]; ?></p>
<p><? echo $row[articulo]; ?></p>
<? 
$result2
=mysql_query("select * from comentarios where id_padre='$id'"$conexion);
$totalcomentarios=mysql_num_rows($result2); ?>
<p><? echo '<a href="comentarios.php?id='.$row[id_noticia].'">comentarios('.$totalcomentarios.')</a>'?> </p>
</body>
</html>
<? ?>
puedes verlo en : http://haciendoblogin.shinranet.com/ver.php

GRACIAS POR TU RESPUESTA MACABRO
  #5 (permalink)  
Antiguo 24/06/2006, 12:41
 
Fecha de Ingreso: enero-2006
Mensajes: 140
Antigüedad: 18 años, 3 meses
Puntos: 0
a ver me explico...
cuando he preguntado que si el id puede ser lo que quiera me refiero que que en lugar de id si puedo poner otro nombre
ejemplo:
comentarios.php?id_loqueyoquiera='.$row[id_noticia].
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 21:45.