Bueno Amigos!!!
Ahora me dispongo a mostraros como añadir un sistema de comentarios al
Sistema de Noticias que creamos anteriormente

Las modificaciones para el anterior sistema son muy reducidas, solamente hay que modificar dos lineas del noticias.php y el sistema estará listo para ser usado
Bien, comencemos con la exposición del Add-On de Comentarios.
Antes de nada será necesario crear una nueva tabla en la base de datos, para ello tenemos este codigo:
create table `comentarios`(
id int primary key auto_increment,
ref int not null,
autor varchar(255) not null,
fecha varchar(255) not null,
comentario text not null
);
Con este código crearemos una tabla llamada
comentarios, compuesta por 5 columnas (id, ref, autor, fecha y comentario).
Ahora proseguiremos con el codigo para efectuar el envio y muestra de comentarios, para ello crearemos una archivo llamado, por ejemplo,
comentarios.php en el cual pondremos el siguiente codigo:
<?PHP
if (isset($_GET['n']) && is_numeric($_GET['n'])) {
if (isset($_POST['comentar'])) {
if (isset($_POST['comentario']) && !empty($_POST['comentario'])) {
$comentario = htmlentities($_POST['comentario']);
$query = "INSERT INTO `comentarios` (ref,autor,fecha,comentario) ";
$query.= "values ('".$_GET['n']."','Autor','".time()."','".$comentario."')";
$query = mysql_query($query);
if (!$query) {
echo '<script>alert("ERROR(*)\nEl comentario no se ha podido enviar.");</script>';
}
} else {
echo '<script>alert("ERROR(*)\nEl comentario esta vacio, escribelo correctamente.");</script>';
}
}
//Si no ha comentado se muestra la lista de comentarios referentes a $_GET['n']
$query = mysql_query("SELECT * FROM `comentarios` WHERE ref = '".$_GET['n']."'");
if (mysql_num_rows($query)) {
//Se muestran los comentarios
echo "Comentarios Totales: ".mysql_num_rows($query);
while ($comentarios = mysql_fetch_array($query)) {
echo '<table>
<tr><td>'.filtro_palabras(bbcode($comentarios['comentario'])).'</td></tr>
<tr><td>Enviado por '.$comentarios['autor'].' el '.date("d/m/Y", $comentarios['fecha']).'</td></tr>
</table><hr>';
}
@mysql_free_result($comentarios);
} else {
//No hay ningun comentario
echo "No hay comentarios";
}
echo '<form action="noticias.php?n='.$_GET['n'].'" method="POST">
<textarea name="comentario"></textarea><br>
<input value="Comentar" type="submit" name="comentar">
</form>';
}
?>Ahora que tenemos la tabla en la base de datos para guardar los comentarios y que tenemos el codigo que extrae, muestra y envia comentarios, llega la modificación final.
La ultima modificación será cambiar algunas lineas del archivo
noticias.php creado previamente en la 1ª Parte del Tutorial, cambiaremos las lineas y dejaremos algo como esto:
<?PHP
/* ANTES DE TODO EL CODIGO HAY QUE CONECTAR A LA BASE DE DATOS
include("conectar.php"); <--- Esto es un ejemplo de como conectar...*/
include("funciones.php");
$query = @mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC"); //Se extraen las noticias en orden reciente
if (@mysql_num_rows($query)) { // Se comprueba si hay alguna noticia publicada
while ($noticia = @mysql_fetch_array($query)) { //Se hace un bucle para mostrar cada noticia una a una
echo '<table border="0" width="100%">
<tr><td align="center">'.filtro_palabras(bbcode($noticia['titulo'])).'</td></tr>
<tr><td>'.filtro_palabras(bbcode($noticia['noticia'])).'</td></tr>
<tr><td>Enviada por '.$noticia['autor'].' || Fecha: '.$noticia['fecha'].' ||
<a href="noticias.php?n='.$noticia['id'].'">Ver Comentarios</a> </td></tr>
</table><hr>';
include("comentarios.php");
}
} else {
echo "No hay ninguna noticia publicada";
}
@mysql_free_result($noticia); //Se borran los datos usados
?>Como veis solamente he cambiados dos cositas, he creado un link con el numero de la noticia y he incluido el archivo de comentarios para que al pulsar el link se vean los comentarios correspondientes a esa noticia y se muestre el formulario para enviar comentarios
