Hola a tod@s.
Me he propuesto hacer un foro básico totalmente a mano, usando PHP y MySQL.
He llegado a un punto donde no encuentro el origen del problema.
El problema es que cuando abro lo que sería un post (un hilo, tema o como se le quiera llamar) solo me muestra un comentario, y en la base de datos me aparecen todos los insertados. En cambio, como digo, solo me imprime uno.
Este es el código:
Código PHP:
Ver original<?php
$accion = $_GET['accion'];
$subforo = $_GET['subforo'];
$mensaje = $_GET['mensaje'];
require("bd.php");
echo "<a href='?accion=leer&subforo=".$subforo."&mensaje=".$row['pid']."'>".$row['titulo']."</a><br />";
}
}
require("bd.php");
$leer = mysql_query("SELECT * FROM posts WHERE pid = '".$mensaje."' AND subforo = '".$subforo."' ORDER BY pid DESC",$link) or
die(mysql_error()); $comentarios = mysql_query("SELECT * FROM comentarios WHERE id_post = '".$mensaje."' AND id_subforo = '".$subforo."'",$link) or
die(mysql_error()); echo "Autor: ".$fila['autor']."<br /><br />".$fila['titulo']."<br /><br />".$fila['mensaje']."<hr />".$f['autor']."dijo:<br /><br />".$f['comentario']."<hr /><br /><a href='?accion=form_replica&subforo=".$subforo."&mensaje=".$mensaje."'>Responder</a>";
}
}
require("bd.php");
?>
<form action="?accion=responder&subforo=<?php echo $subforo; ?>&mensaje=<?php echo $mensaje; ?>" method="post">
<input type="text" name="autor" />
<textarea name="comentario"></textarea>
<input type="submit" />
</form>
<?php
}
require("bd.php");
$autor = $_POST['autor'];
$comentario = $_POST['comentario'];
mysql_query("INSERT INTO comentarios (id_post,id_subforo,autor,comentario) VALUES ('".$mensaje."','".$subforo."','".$autor."','".$comentario."')",$link) or
die(mysql_error()); }
else{
?>
<html>
<body>
<table>
<tr><td><a href="?accion=indice&subforo=1">Subforo #1</a></td></tr>
<tr><td><a href="?accion=indice&subforo=2">Subforo #2</a></td></tr>
</table>
</body>
</html>
<?php
}
?>