ARTICULOS

Sistema de noticias en ASP

Autor: Fabian Muller (http://www.webexperto.com) - 18/06/2002

Lo que vamos a hacer, es básicamente un sistema de noticias para un sitio web, programado en ASP y utilizando bases de datos Access.

Archivos a utilizar
noticias.mdb: la base de datos
formulario.htm: el formulario en donde ingresaremos los datos de la noticia
agrega_noticia.asp: el encargado de procesar el formulario
listado.asp: para listar todas las noticias
noticia.asp: para ver la noticia

noticias.mdb

Dentro de este archivo creamos una nueva Tabla llamada Noticias con los siguientes campos: id (autonumérico), titulo (texto), copete (memo) y noticia (memo):

formulario.htm

El formulario es una simple página html, que permite ingresar los datos Título, Copete y Noticia, e ingresarlos a la base de datos.

<form method="POST" action="agrega_noticia.asp">
<p>Ttiulo:<br>
<input type="text" name="titulo" size="40"></p>
<p>Copete:<br>
<input type="text" name="copete" size="40"></p>
<p>Noticia:<br>
<textarea rows="4" name="noticia" cols="30"></textarea></p>
<p><input type="submit" value="Ingresar noticia" name="enviar"></p>
</form>

agrega_noticia.asp

En el formulario notamos que el action es igual a agrega_noticia.asp. Gracias a este archivo podemos procesar los datos ingresados en el formulario y volcarlos dentro de la base de datos

<%
Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("noticias.mdb")
sqltext = "SELECT * FROM Noticias"
rst.Open sqltext,cnn,3,3

'Recogemos los datos y validamos que no haya ningun campo vacio
dim titulo, copete, noticia
titulo = Request.Form("titulo")
copete = Request.Form("copete")
noticia = Request.Form("noticia")

if copete = "" or titulo ="" or noticia ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End
end if

'Si está todo correcto, procedemos a ingresar los datos a la base de datos

rst.AddNew
rst("titulo") = titulo
rst("copete") = copete
rst("noticia") = noticia
rst.update

'Terminamos e imprimimos un mensaje
Response.Write "La noticia se ha ingresado con exito"
%>

listado.asp

Lo que hará este archivo es listar las noticias, ordenadas por el ID Desc (de último a primero). Se podría realizar una paginación, peor eso lo veremos en un próximo artículo. El código del listado quedaría así:

<html>
<head>
<title>Listado de noticias</title>
</head>
<body>
<%
'Abre la conexion con la base de datos a traves de una conexion ODBC
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("noticias.mdb")

'Ejecuta un sentencia SQL de consulta
sql = "SELECT * FROM Noticias ORDER BY id DESC"
Set result = con.Execute(sql)
'Recorre todas las filas del resultado
Do While Not result.EOF
' Muestra la fila actual
Response.Write "<p><b><font face=Verdana size=1><a href=noticia.asp?id=" &result.Fields("id") & ">"&result.Fields("titulo")&"</a></b><br><font color=""#696969"">&#149; " &result.Fields("copete") & "</font></font></p>"

'Pasa a la siguiente fila
result.MoveNext
Loop
'Libera memoria
result.Close
Set result = Nothing
con.Close
Set con = Nothing
%>
</body>
</html>

noticia.asp

Por último, este archivo se encarga de mostrar la noticia de acuerdo al valor de ID, ejemplo:
noticia.asp?id=1, mostrará la noticia con el ID 1
noticia.asp?id=1454, mostrará la noticia con el ID 1454

Igualmente, al armar el listado, los links a las noticia ya vienen definidos con el valor correspondiente.

<%
Set con = Server.CreateObject("ADODB.Connection")
con.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("noticias.mdb")
sql = "SELECT * FROM Noticias WHERE id=" & Request.QueryString("id") & ""

'Ejecuta un sentencia SQL de consulta
'Recorre todas las filas del resultado
set result = Con.Execute(sql)
%>
<html>
<head>
<title>Página nueva </title>
</head>
<body>
<p><font face="Arial" size="5" color="#0080C0"><%=result("titulo")%></font></p>
<p><font face="Arial" size="2"><strong><%=result("copete")%></strong></font></p>
<p><font face="Arial" size="2"><%=result("noticia")%></font></p>
</body>
</html>

Bueno, este fue un ejemplo sencillo de como armar un sistema de noticias en ASP. En los próximos artículos sobre ASP vamos a mostrarle cómo realizar una paginación de resultados, para hacer más vistosos los listados.

Si lo desean, puede descargar los código fuente en un archivo ZIP: Click aquí

 

Más artículos sobre ASP

1. Detectar plugin de Flash con ASP
2. Enlace externo dinámico con frames
3. Agregar, eliminar y modificar datos a una BD
4. Generador de claves aleatorias
5. Envio de emails con CDONTS
6. Alternar el color de filas en un RecordSet
7. Agilizar la carga de tus páginas ASP
8. Altas, bajas y modificaciones
9. Gráficos de barras con ASP
10. Contador gráfico en ASP
Más artículos...

Otros artículos...

Java Script Confirmar eliminar registro
Java Script Seleccionar y copiar formulario
Marketing 12 técnicas de marketing online
PHP Utilizar PHP en FrontPage 98
Java Script Ejecutar código PHP o ASP
Marketing ¿Qué es CRM?
PHP Definción y uso de clases en PHP
Java Script Protección del email ante los spiders
PHP Envio de emails con PHP
Varios Instalar Wordpress en hosting gratis
Más artículos...