Tutoriales PHP MYSQL Sistema de noticias. Index y Panel de Administración

\n"; } } } lecturas();

          


Sistema de noticias. Index y Panel de Administración

      

Autor: Alejandro Suazo

En este tutorial crearemos un sistema de noticias. En esta parte examinaremos el Index y la administración del sistema.

Este tutorial consta de 3 partes: La primera genera un sistema de noticias a través de un panel de administración y las muestra en orden según su fecha, la segunda parte muestra un sistema de edición y borrado de estas noticias. La tercera y última parte veremos como generar un sistema de comentarios para nuestras noticias.

Primero creamos la base de datos para las noticias:

  1. CREATE TABLE noticias (
  2. id_noticia int(4) AUTO_INCREMENT NOT NULL,
  3. autor varchar(255),
  4. titulo varchar(255),
  5. categoria varchar(255),
  6. fecha datetime NOT NULL,
  7. noticia blob, KEY(id_noticia)
  8. )

Un poco de explicación: id_noticia se incrementará cada vez que insertemos un registro desde el panel de administración (que crearemos luego) lo que nos facilitará la lectura de la noticia y asignarle sus respectivos comentarios. Lo demás está a la vista.

Ahora veremos el código a incluir en la página que llamaremos index.php (Que original ¿no?)

  1. <html>
  2. <head>
  3. <title>Sistema de noticias</title>
  4. <?
  5. //conectamos a la base
  6. $connect=mysql_connect("servidor","nombre_de_la_base","pass");
  7. //Seleccionamos la base
  8. mysql_select_db("nombre_de_la_base",$connect);
  9. //hacemos las consultas
  10. $result=mysql_query("select * from noticias order by fecha Desc", $connect);
  11. $totalregistros=mysql_num_rows($result);
  12. ?>
  13. </head>
  14. <body>
  15. <?
  16. //Recogemos las consultas en un array y las mostramos
  17. while($row=mysql_fetch_array($result)) {
  18. echo "<h2>".$row[titulo]."</h2><br><p>".$row[articulo]."</p><br><div>".$row[autor]." | "
  19. .$row[fecha]." | ".$row[categoria]." | <a href=\"ver.php?id=".$row[id_noticia].
  20. "\">comentarios()</a> | <a href=\"editar.php?id=".$row[id_noticia]."\">editar</a></div>";
  21. /*Hemos puesto los enlaces para "Comentarios" y "Editar" cosa que ocuparemos
  22. más adelante como se puede ver el id nos servirá para casi todo.*/
  23. }
  24. ?>
  25. </body>
  26. </html>

Nota: Se puede usar cualquier función de conversión de fechas para mostrar fecha en español y separarla de la hora. Acá no se hará por no ser el fin de este tutorial

Es hora de crear el panel de administración. En realidad es en donde generamos la noticia que luego mostrará el index. Lo llamaremos administrar.php (otro destello de creatividad). Obviaremos el código de la estructura html y nos enfocaremos en el formulario que enviará los datos.

  1. <form action="/articulos/tutoriales/php/procesanoticia.html" method="post">
  2. Título noticia:<br>
  3. <input type="text" name="titulo"><br>
  4. Autor:<br>
  5. <input type="text" name="autor"><br>
  6. Categoría:<br>
  7. <input type="text" name="categoria"><br>
  8. Escriba el articulo<br>
  9. <textarea name="articulo" cols="50" rows="10"></textarea><br>
  10. <input type="submit" value="Publicar"><br>
  11. </form>

Como vemos, este formulario envía por método POST todas las variables necesarias para el llenado de nuestra base. Dichas variables las recibe un script llamado procesanoticia.php el cual veremos a continuación:

  1. <?
  2. //recibimos las variables enviadas por el formulario
  3. $titulo=$_POST[titulo];
  4. $autor=$_POST[autor];
  5. $categoria=$_POST[categoria];
  6. $articulo=$_POST[articulo];
  7. //conectamos a la base
  8. $connect=mysql_connect("servidor","nombre de la base","pass");
  9. //Seleccionamos la base
  10. mysql_select_db("nombre de la base",$connect);
  11. //insertamos los registros almacenados en las variables
  12. mysq_query("insert into noticias(titulo,autor,categoria,articulo,fecha)
  13. values('$titulo','$autor','$categoria','$articulo',NOW()",$connect)
  14. header("/articulos/tutoriales/php/location_index.html");
  15. ?>

Se llena la base con todos los parámetros recibidos del formulario. Cabe destacar que para la fecha se ocupo la funcion NOW() esta función rellena la base con la fecha y hora del servidor. La primera parte y el trabajo pesado ya está hecho. Falta que estas noticias puedan ser editatas o borradas, tema que se verá en la segunda parte.

Scour Design ™ Todos los Derechos Reservados © Carlos Carmona Xhtml 1.1 Strict Válido!CSS Nivel 2 Válido! Nivel Triple-A de Conformidad con las Directrices de Accesibilidad Web (WAI)