Entramos en el corazón de la aplicación. Mostramos el código y realizamos una primera división en partes.
Una vez realizada la elección de la lengua y franqueada la página de entrada, el navegante llega al núcleo de la aplicación. A partir de aquí, podrá buscar y comprar los libros presentes en el catálogo. Para buscar se ha ofrecido la posibilidad de hacerlo a partir de los autores, títulos e editoriales presentes en el catálogo. El catálogo ha sido almacenado en una tabla llamada "articulos". Una vez el internauta llega a los títulos correspondientes al resultado de su búsqueda, tiene la posibilidad de incluirlos en su carrito de compra que, para facilitar las cosas, tendrá un tamaño máximo de 10 artículos.
Aquí os presentamos el código de esta página busqueda.asp:
El archivo puede ser dividido en varias partes:
-Impresión de las opciones principales de búsqueda a las que se accede desde cualquier página exterior. Llegando desde fuera, lo primero que veremos es un menú en búsqueda en función de los criterios mencionados.
-Impresión de los resultados de búsqueda a los que se accede desde esta misma página una vez que uno de los criterios ha sido elegido. Esta es la secuencia que nos permite también efectuar nuestra selección de libros.
-Estado del carrito: muestra el numero de libros presentes en el carrito y ofrece un enlace para editarlo.
En los capítulos siguientes veremos detenidamente cada una de estas partes.
Ir la librería
Aquí os presentamos el código de esta página busqueda.asp:
<!-- #include file="scripts_lengua/testlengua.inc" --> <!--#include file="plantillas/connon.inc"--> <!--#include file="scripts_lengua/lecturalengua.inc" --> <!--#include file="plantillas/plantillahtml.inc"--> <% 'Iniciamos num_articulos como un valor numerico If Session("num_articulos")="" Then Session("num_articulos")=0 'Miramos de donde viene el visitante, si de la pagina de inicio o de esta misma origen=Request.ServerVariables("HTTP_REFERER") If InStr(origen,"home.asp")<> 0 or InStr(origen,"anadir.asp")<> 0 or InStr(origen,"carrito.asp")<> 0 Then 'Si viene de cualquier pagina menos esta %> <table align="center" width="400" cellspacing="2" cellpadding="2" border="0"> <tr><th bgcolor="#999966" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%imprimir("busqueda")%></font><br></th></tr> <tr><td bgcolor="#cc9900" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="busqueda.asp?criterio=titulo"><%imprimir("titulo")%></a></font><br></td></tr> <tr><td bgcolor="#cc9900" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="busqueda.asp?criterio=autor"><%imprimir("autor")%></a></font><br></td></tr> <tr><td bgcolor="#cc9900" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="busqueda.asp?criterio=editorial"><%imprimir("editorial")%></a><br></font></td></tr> <% Else 'Si viene de esta misma pagina 'Recogemos el criterio criterio=Request.Querystring("criterio") 'Miramos si el criterio es el titulo o no If criterio<>"titulo" Then 'el criterio es por autor o por editorial %> <table align="center" width="400" cellspacing="2" cellpadding="2" border="0"> <tr><th bgcolor="#999966" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%imprimir(criterio)%></font></th></tr> <% 'Generamos nuestra sentencia SQL y la ejecutamos sSQL="Select Distinct "&criterio&" From articulos" Set RS=Conn.Execute(sSQL) 'Imprimimos los enlaces While Not RS.Eof%> <tr> <td bgcolor="#cc9900" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="busqueda.asp?criterio=titulo&<%=criterio%>=<%=RS(criterio)%>"><%=RS(criterio)%></a></font></td> </tr> <%RS.MoveNext Wend%> <% Else 'el criterio es por titulo o un autor o editorial han sido elegidos 'Recogemos el segundo criterio si lo hay autor=Request.Querystring("autor") editorial=Request.Querystring("editorial") 'Generamos nuestra sentencia SQL y la ejecutamos If editorial="" and autor="" Then 'el internauta ha pedido la lista entera sSQL="Select * From articulos" Elseif editorial<>"" Then 'el internauta ha pedido la lista correspondiente a una editorial sSQL="Select * From articulos Where editorial Like '"&editorial&"'" Else 'el internauta ha pedido la lista correspondiente a un autor sSQL="Select * From articulos Where autor Like '"&autor&"'" End If %> <table align="center" width="700" cellspacing="2" cellpadding="2" border="0"> <tr><th bgcolor="#999966" colspan="5"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%imprimir(criterio)%></font></th></tr> <% set RS=conn.execute(sSQL) 'Imprimimos los enlaces While Not RS.Eof%> <tr> <td bgcolor="#cc9900"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%=RS("titulo")%></font></td> <td bgcolor="#cc9900"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%=RS("autor")%></font></td> <td bgcolor="#cc9900"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%=RS("editorial")%></font></td> <td bgcolor="#cc9900"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%=RS("precio")%></font></td> <td bgcolor="#cc9900"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="anadir.asp?id=<%=RS("id_articulo")%>"><%imprimir("anadir")%></a></font></td> </tr> <%RS.MoveNext Wend%> <% RS.Close End If End If %> <tr><td align="center" bgcolor="#999966" colspan="5"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"> <!-- #include file="scripts_lengua/cambiolengua.inc" --> </font></td></tr> </table> <br> <br> <table align="center" width="400" cellspacing="2" cellpadding="2" border="0"> <tr><td bgcolor="#999966" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"> <% 'Comprobamos si el carrito esta vacio, tiene un articulo o mas de uno para poner el mensaje apropiado Select Case Session("num_articulos") Case 0 imprimir("carrito_vacio") Case 1 imprimir("carrito_uno") Case Else imprimir("carrito_muchos1") Response.Write " "&Session("num_articulos") imprimir("carrito_muchos2") End Select %> <br></td></tr> <% If Session("num_articulos")<>0 Then %> <tr> <td bgcolor="#cc9900" align="center"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="carrito.asp"><%imprimir("vercarrito")%></a></font><br></td> </tr> <%End If%> </table> <!--#include file="plantillas/connoff.inc"--> </body> </html> |
El archivo puede ser dividido en varias partes:
-Impresión de las opciones principales de búsqueda a las que se accede desde cualquier página exterior. Llegando desde fuera, lo primero que veremos es un menú en búsqueda en función de los criterios mencionados.
-Impresión de los resultados de búsqueda a los que se accede desde esta misma página una vez que uno de los criterios ha sido elegido. Esta es la secuencia que nos permite también efectuar nuestra selección de libros.
-Estado del carrito: muestra el numero de libros presentes en el carrito y ofrece un enlace para editarlo.
En los capítulos siguientes veremos detenidamente cada una de estas partes.
Rubén Alvarez
Rubén es doctor en química y programador principalmente en sus ratos libres con...