Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Ver y editar el carrito II


Describimos en detalle cada una de las partes de este programa


El script, como hemos dicho, puede ser dividido en dos fragmentos principales.

El primero de estos fragmentos gestiona el borrado de alguno de los elementos. Este fragmento ha de ser colocado antes de la apertura de la etiqueta HTML puesto que dentro de él introducimos un Response.Redirect que tiene como función enviar al navegante a otra página. Este tipo de acciones, como ya paso para la creación de cookies, deben de realizarse en primer lugar.

El primer paso es, como viene ya siendo un rito, recoger las variables que hayan podido ser enviadas. En este caso, cuando se realiza un borrado, se envía una variable por URL llamada "borrar" conteniendo como valor la referencia del libro que se quiere eliminar. Esta variable, recibida como cadena como todas las variables que se recuperan de un formulario o de una URL, es transformada en numero entero mediante la función Cint:

'Recogemos la variable borrar
borrar=CInt(Request.Querystring("borrar"))


Una vez recuperada y transformada la variable borrar pasaremos a comprobar que su valor no es nulo, lo que significa que se quiere borrar un articulo del carrito. Para borrarlo, lo que hay que hacer es:

1.-Localizar en qué posición se encuentra en el carrito. Dicha posición será guardada como una variable de nombre "i"

i=1
Do While borrar<>CInt(Session(i))
   i=i+1
Loop


2.-Dar a esa posición otro valor de referencia que será la del libro localizado en una posición más adelante. Repetir ese procedimiento tantas veces como artículos tengamos. En otras palabras, estamos desplazando en una posición hacia atrás los valores de las referencias para ocupar correctamente cada posición y hacer desaparecer la referencia que deseamos borrar.

For j=i to Session("num_articulos")
   Session(j)=Session(j+1)
Next


3.-Declaramos un articulo menos en nuestro carrito

Session("num_articulos")=Session("num_articulos")-1

4.-Comprobamos que el carrito no esta vacío, de lo contrario, enviamos al navegante a la página de búsquedas:

If Session("num_articulos")= 0 Then Response.Redirect("busqueda.asp")

El segundo fragmento se encarga de mostrar en pantalla el contenido del carrito y decirnos cuál es el valor de la compra. El funcionamiento no difiere en gran cosa con respecto a otras llamadas a base de datos que hemos efectuado.

Ante todo, lo primero es iniciar dos variables que usaremos en el proceso: El contador de artículos "i" y el total de la compra que será almacenado como una Session:

'Iniciamos las variables
i=1 'contador de artículos
Session("total")=0 'precio del pedido


Para sacar en pantalla los objetos usamos de nuevo un bucle tipo While que se llevará a cabo mientras que el contador de artículos no exceda el número de artículos, dicho de otra forma, se realizará tantas veces como libros haya en el carrito.

Dentro de este bucle colocaremos una llamada a la base de datos que buscará las características del artículo cuya referencia haya sido almacenada en nuestra variable Session(numero), además, añadiremos el precio del libro al valor total del pedido e imprimiremos las características de la obra en cuestión:

'Comenzamos la impresion de los artículos del carrito 
While i<=Session("num_articulos") 
   id=Session(i) 
'Generamos nuestra sentencia SQL y la ejecutamos 
   sSQL="Select * From articulos Where id_articulo="&id 
   set rs=conn.execute(sSQL) 
'Calculamos el precio del pedido 
   Session("total")=Session("total")+rs("precio")
%>
   <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="carrito.asp?borrar=<%=rs("id_articulo")%>"><%imprimir("borrar")%></a></font></td>
   </tr>
<%
   i=i+1
   rs.Close
Wend%>


Finalizado el bucle pasamos a mostrar el valor total del pedido y proponemos los enlaces para enviarlo (pedido.asp) o bien continuar con las compras (busqueda.asp):

<td align="center" bgcolor="#cc9900" align="center" colspan="5"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><%imprimir("total")%>: <%=Session("total")%></font></td>
</tr>
<tr>
<td align="center" bgcolor="#999966" align="center" colspan="5"><FONT face="verdana,arial,helvetica" size=2 color="#ffffff"><a href="pedido.asp"><%imprimir("pedido")%></a>      <a href="busqueda.asp"><%imprimir("volver")%></a></font></td>


Ir la librería

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 3 categorias relacionadas

 Autoría, licencia y acciones sobre este artículo

Informe de Rubén Alvarez*

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Librería virtual en ASP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Colecciones de scripts
+ Entrar en Scripts en ASP
+ Entrar en Manuales de ASP


 Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Librería virtual en ASP
Categorías
+Colecciones de scripts
+Scripts en ASP
+Manuales de ASP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia