Para finalizar nuestro sistema de noticias daremos la posibilidad a los usuarios de participar con sus comentarios.
Recordemos que en la primera parte creamos un link llamado comentarios y su enlace tenía esta estructura <a href="/articulos/tutoriales/php/ver_id_1.html"> llamando a la página ver.php y en donde el id cambia su número dependiendo de la noticia que queremos visualizar. Con esto en claro, es hora de ver el código de ver.php
Nota: Una vez más obviaremos la estructura html y pondremos el código PHP:
//creamos la tabla de los comentarios CREATE TABLE comentarios( id int(4) NOT NULL, nick varchar(255), email varchar(255), comentario blob, KEY(id))
<? //recibimos la variable id enviada en el enlace por GET $id=$_GET[id]; //conectamos a la base //Seleccionamos la base //hacemos las consultas //Una vez seleccionado el registro, mostramos la noticia completamente <p>".$row[articulo]."</p><br> <div>".$row[autor]." | ".$row[fecha]." | ".$row[categoria]." | <a href=\"ver.php?id=".$row[id]."\">comentarios()</a> | <a href=\"editar.php?id=".$row[id]."\">editar</a></div>"; } ?>
La manera de mostrar la noticia completa es idéntica que en el script del index.php visto en la primera parte. Ahora haremos las modificaciones para mostrar los comentarios.
<? //recibimos la variable id enviada en el enlace por GET $id=$_GET[id]; //conectamos a la base //Seleccionamos la base //hacemos las consultas //Una vez seleccionado el registro, mostramos la noticia completamente <p>".$row[articulo]."</p><br> <div>".$row[autor]." | ".$row[fecha]." | ".$row[categoria]." | <a href=\"ver.php?id=".$row[id]."\">comentarios(".$totalcomentarios.")</a> | <a href=\"editar.php?id=".$row[id]."\">editar</a></div>"; } ?>
Acá agregamos unas líneas al bucle while solamente para saber la cantidad de cometarios que pertenecen a este (1, 2, 0 la cantidad x de comentarios por artículo) y lo almacenamos en la variable $totalcomentarios
Ahora veremos el código para seleccionar los comentarios y visualizarlos.
<? echo "<h2>Comentarios:</h2><br>"; //hago el llamado a la base //Bucle while para visualizarlos <div>".$rows[nick]." | ".$rows[email]."</div>"; ?>
Mostramos los comentarios y ahora pondremos un formulario en donde puedan escribirlos.
<form action="/articulos/tutoriales/php/editacomentarios.html" method="post"> <input type="hidden" name="id" value="<? 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>
Acá el formulario enviará las variables al script editacomentarios.php el cual las procesará y llenará la tabla comentarios.
Nota: Nótese que se envia la variable $id en un campo oculto, esto servirá para saber a qué noticia pertenece dicho comentario.
<? //editacomentarios.php //recibimos las variables enviadas por el formulario $id=$_POST[id]; $nick=$_POST[nick]; $email=$_POST[email]; $comentario=$_POST[comentario]; //conectamos a la base //Seleccionamos la base //Ingresamos los comentarios a su tabla values('$id','$nick','$email','$comentario'",$connect); ?>
Con los comentarios insertados en su tabla queda listo y finalizado el sistema de noticias. Disfrútenlo.
Si bien este modesto sistema de noticias debería funcionar a la perfección y prestar una funcionalidad digna, es importante señalar que puede mejorar mucho, incluyéndole por ejemplo: Fechas en español, CSS sin dudas, algún paginador y sentencia limit para visualizar cantidades X de artículos por páginas, directivas de seguridad como sistema de auntentificación, restringir etiquetas html en los comentarios, etc. Eso ya queda en sus manos y estoy seguro que lo pueden mejorar mucho.
En cuanto al autor puedo decirles que soy un aprendíz de PHP y leyéndo tutoriales y mucho google logré terminar mi blog y crear este pequeño artículo, que debido a mi calidad de aprendíz puede contener muchos errores, aunque no mayores.