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:
create table noticias (
id_noticia int(4) auto_increment not null,
autor varchar(255),
titulo varchar(255),
categoria varchar(255),
fecha datetime not null,
noticia blob, key(id_noticia)
)
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?)
Sistema de noticias//conectamos a la base
$connect=mysql_connect("servidor","nombre_de_la_base","pass")';
//Seleccionamos la base
mysql_select_db("nombre_de_la_base",$connect);
//hacemos las consultas
$result=mysql_query("select * from noticias order by fecha Desc", $connect);
$totalregistros=mysql_num_rows($result);
?>
//Recogemos las consultas en un array y las mostramos
while($row=mysql_fetch_array($result))
{
echo
'
'.$row[titulo].'
'.$row[articulo].'
'.$row[autor].'|'.$row[fecha].'|
'.$row[categoria].' |
'comentarios() |
editar';
//Hemos puesto los enlaces para "Comentarios" y "Editar" cosa que ocuparemos
más adelante como se puede ver el id nos servirá para casi todo.
}
mysql_free_result($result)
?>
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
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:
//recibimos las variables enviadas por el formulario
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];
//conectamos a la base
$connect=mysql_connect("servidor","nombre de la base","pass")';
//Seleccionamos la base
mysql_select_db("nombre de la base",$connect);
//insertamos los registros almacenados en las variables
mysq_query("insert into noticias(titulo,autor,categoria,articulo,fecha)
values('$titulo','$autor','$categoria','$articulo',NOW()",$connect)
header("location: index.php");
?>
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