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"); $q = mysql_query("SELECT * FROM posts WHERE subforo = '".$subforo."' ORDER BY pid DESC",$link) or die(mysql_error()); echo "<a href='?accion=leer&subforo=".$subforo."&mensaje=".$row['pid']."'>".$row['titulo']."</a><br />"; } } elseif($accion == "leer" && isset($subforo) && isset($mensaje) && is_numeric($subforo) && is_numeric($mensaje)){ 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>"; } } elseif($accion == "form_replica" && isset($subforo) && is_numeric($subforo) && isset($mensaje) && is_numeric($mensaje)){ 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 } elseif($accion == "responder" && isset($subforo) && is_numeric($subforo) && isset($mensaje) && is_numeric($mensaje)){ 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 } ?>