> Manuales > Carrito de la compra en ASP

Código para mostrar el contenido del carrito.

La última función de las que vamos a ver aquí sirve para mostrar todos los productos del carrito. Tiene que hacer un simple bucle que recorra todas las variables de sesión creadas al meter productos en el carrito. Debe mostrar los datos de cada producto según se recorre con el bucle. Además, debe proporcionar el importe total de la compra y un enlace para quitar cualquier producto del carrito.

sub muestra_carrito()
   precio_total=0
   if session("num_prod")=0 then
    response.write "el carrito está vacío"
   else
    for i=1 to session("num_prod")
    response.write "linea de producto " & i & "<br>"
     if session("producto" & i) <> 0 then
       response.write "Identificador de producto " & session("producto" & i) & "<br>"
       response.write "Nombre de producto " & session("nombre" & i) & "&l5;br>"
       response.write "Precio de producto " & session("precio" & i) & "<br>"
       response.write "<a href=""borrar_producto.asp?linea=" & i & """>Borrar producto</a>"
       precio_total = precio_total + session("precio" & i)
     else
       response.write "Este producto ha sido borrado del carrito"
     end if
     response.write "<p>"
    next
    response.write "El precio total del producto es " & precio_total & "<p>"
  end if
end sub


La función declara primero la variable precio_total donde se guardará la suma de importes de los productos.

Luego comprueba el número de productos, porque si es cero significa que no hay nada en el carrito y debería indicarse así.

Si había productos en el carrito, se muestran todos los productos con un bucle que recorre las líneas del carrito, desde la primera hasta el número de productos. En cada línea del carrito se muestran sus datos, teniendo cuidado porque si el identificador del producto era cero quería decir que ese producto había sido borrado del carrito. Además, acumulamos en la variable precio_total el importe de todos los productos del carrito que no han sido borrados previamente.

Finalmente, aunque todavía dentro del bucle, colocamos un enlace para que el visitante pueda eliminar un producto del carrito. Hay que darse cuenta que el enlace para borrar un producto indica como parámetro la línea del carrito que se debe borrar, que era lo que nosotros necesitábamos en la función creada para borrar los productos.

Ya fuera del bucle, imprimimos el importe total con la suma de los importes de los productos que hemos ido acumulando durante el bucle.

Miguel Angel Alvarez

Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...

Manual