
10/07/2003, 12:19
|
| | Fecha de Ingreso: julio-2003
Mensajes: 70
Antigüedad: 21 años, 10 meses Puntos: 0 | |
ayuda con este código Estoy desarrollando un carro de compras en una sola página y soy principiante y no se como hacer para poder ingresar una columna donde se puedan cambiar las cantidades , he recorrido muchas preguntas de este forro y he visto muchos ejemplos pero son distintos a mi carrito y no se como resolverlo.
Les agradezco la ayuda a todos lo que esten interesados.
Aca pongo mi código
que es bastante largo
<html>
<HEAD>
<style><!--
a { text-decoration: none }
a:hover { color: #003636}-->
</style><style>
BODY {SCROLLBAR-FACE-COLOR: #006699; SCROLLBAR-HIGHLIGHT-COLOR: #nnnnn; SCROLLBAR-SHADOW-COLOR: #ffffff; SCROLLBAR-3DLIGHT-COLOR: #E7E7E7; SCROLLBAR-ARROW-COLOR: #ffffff; SCROLLBAR-TRACK-COLOR: #cccccc; SCROLLBAR-DARKSHADOW-COLOR: #ffffff; }
</style>
<%@LANGUAGE="VBSCRIPT"%>
<%Response.Buffer=True%>
<script language="javascript">
function envioCorreo(){
var nombre;
var direccion;
var correo;
var telefono;
nombre = datos.fnombre.value;
direccion = datos.fcalle.value;
correo = datos.fmail.value;
telefono = datos.ftel.value;
window.location.href="shop2.asp?ac=EnviarCorreo&no mbre=" + nombre + "&direccion=" + direccion + "&correo=" + correo + "&telefono=" + telefono ;
}
</script>
<%
Sub MostrarCatalogo
' Muestra el catálogo con enlaces para ir comprando
Dim oRs, oRs2, SQL ' Uso 2 recordset
Dim idmarca ' IdMarca en Productos
' Conexión sin DSN a la base de datos
set oRs=Server.CreateObject("ADODB.Recordset")
set oRs2=Server.CreateObject("ADODB.Recordset")
'SQL="SELECT * FROM Productos;"
SQL="SELECT * FROM PRODUCTOS WHERE Marca=2"
oRs.Open SQL, oConn
'Dibujo la tabla
%>
<title></title>
</head>
<body>
<div align="center">
<center>
<TABLE BORDER=1 CELLSPACING="0" CELLPADDING="1" width="552" bordercolor="#006699">
<TR>
<TD bgcolor="#006699" width="318">
<p align="center"><B><font face="Verdana" size="1" color="#FFFFFF">Producto</font></B></p>
</TD>
<TD bgcolor="#006699" width="41">
<p align="center"><B><font face="Verdana" size="1" color="#FFFFFF">Precio</font></B></p>
</TD>
<TD bgcolor="#006699" width="76">
<p align="center"> </TD>
<%
do until oRs.EOF
idmarca=oRs.Fields("Marca")
' Tengo que sacar el nombre y la URL de la marca
SQL="SELECT * FROM Marcas WHERE IdMarca="&idmarca&";"
oRs2.Open SQL, oConn
' Cuidado con los dos recordset ahora:
' oRs2 tiene la marca
' oRs tiene el producto
%>
<TR>
<TD bgcolor="#FFFFFF" width="318">
<p align="center"><font face="Verdana" size="1"><%=oRs.Fields("Nombre")%></font></TD>
<TD bgcolor="#FFFFFF" width="41">
<p align="center"><font face="Verdana" size="1"><%=oRs.Fields("Precio")%></font></TD>
<TD bgcolor="#FFFFFF" width="76">
<p align="center"><A HREF="shop2.asp?ac=meter&prod=<%=oRs.Fields("IdPro ducto")%>"><font face="Verdana" size="1">Comprar</font></A></p>
</TD>
</TR>
<%
'Limpio oRs2
oRs2.Close
oRs.MoveNext
loop
'Termino la tabla
%>
</TABLE>
</center>
</div>
<p align="center"><font face="Verdana" size="1">
<%
oRs.Close
set oRs=nothing
set oRs2=nothing
' Pinto opciones
%>
<center><A HREF=shop2.asp?ac=ver>Ver Carrito</A></center>
<br>
<%
End Sub
'----------------------------------------------------------
Sub MostrarCarrito
' Muestra el contenido del carrito de la compra
' En este ejemplo los gastos de envío los declaro aquí como constante.
' En un caso real deberían traerse de base de datos y llenar un combo por ejemplo
' carrito es la variable global que referencia al carrito
Dim oRs, oRs2, SQL
Dim clave
Dim gastos ' Gastos de envio
Dim total, subtotal
gastos=0000 ' Para todo el mundo! :)
total=0
subtotal=0
' Conexión sin DSN a la base de datos
' Debería haber sacado estas líneas a un sub y llamarlo, pero en fin :(
set oRs=Server.CreateObject("ADODB.Recordset")
'Pinto la tabla
%>
</font>
<p align="center"> </p>
<div align="center">
<center>
<TABLE BORDER="1" CELLPADDING="0" CELLSPACING="0" width="621" bordercolor="#006699">
<TR>
<TD colspan="6" width="471" bgcolor="#006699"><font color="#FFFF00"><a href="javascript:print()"><img border="0" src="file:///C:/Mis%20documentos/cocina/shop111.gif" align="right"></a><b><font face="Verdana" color="#FFFFFF" size="2">CARRITO</font></b></font></TD>
</TR>
<TR>
<TD bgcolor="#006699" width="451">
<p align="center"><font face="Verdana" size="1" color="#FFFFFF"><b>Producto</b></font>
</TD>
<TD bgcolor="#006699" width="73">
<p align="center"><font face="Verdana" size="1" color="#FFFFFF"><b>Cantidad</b></font></p>
</TD>
<TD bgcolor="#006699" colspan="2" width="1">
<p align="center"><font face="Verdana" size="1" color="#FFFFFF"><b>Precio</b></font></p>
</TD>
<TD bgcolor="#006699" width="136">
<p align="center"><font face="Verdana" size="1" color="#FFFFFF"><b>Quitar del carrito</b></font></p>
</TD>
<TD bgcolor="#006699" width="1">
<p align="center"><font face="Verdana" size="1" color="#FFFFFF"><b>Total</b></font></p>
</TD>
</TR>
<%
For Each clave in carrito
subtotal=0 ' Total de cada artículo en el carrito
'Pinto la línea de este producto
SQL="SELECT * FROM Productos WHERE IdProducto="&clave&";"
set oRs=oConn.Execute(SQL)
%>
<TR>
<TD bgcolor="#FFFFFF" width="451">
<p align="center"><font face="Verdana" size="1"><%=oRs.Fields("Nombre")%></font></TD>
<TD bgcolor="#FFFFFF" width="73">
<p align="center"><font face="Verdana" size="1"><%=carrito(clave)%></font></TD>
<TD colspan="2" bgcolor="#FFFFFF" width="1">
<p align="center"><font face="Verdana" size="1"><%=oRs.Fields("Precio")%></font></TD>
<TD bgcolor="#FFFFFF" width="136">
<p align="center"><font face="Verdana" size="1"><A HREF="shop2.asp?ac=sacar&prod=<%=clave%>&cant=1"> Uno</A>
<A HREF="shop2.asp?ac=sacar&prod=<%=clave%>&cant=<%=c arrito(clave)%>"> Todos</A>
</font></p>
</TD>
<%
' Multiplico el precio por la cantidad. FormatNumber me asegura que es un nº válido
' y convierto todo a tipo Single con CSng.
subtotal=CSng(FormatNumber(carrito(clave))*oRs.Fie lds("Precio"))
total=total+subtotal
%>
<TD bgcolor="#FFFFFF" width="1">
<p align="center"><font face="Verdana" size="1"><%= subtotal %></font></TD>
</TR>
<%
Next
if carrito.Count > 0 then
oRs.Close
set oRs=nothing
end if
'Pinto el final de la tabla
%>
<TR>
<TD COLSPAN=5 bgcolor="#FFFFFF" width="488">
<p align="center"><font face="Verdana" size="1">Gastos de envío</font></p>
</TD>
<TD bgcolor="#FFFFFF" width="1">
<p align="center"><font face="Verdana" size="1">
<%
if total=0 then
Response.Write("0") ' Sin compra no hay gastos de envío
else
Response.Write(gastos)
end if
%>
</font>
</TD>
<TR>
<TD COLSPAN=5 bgcolor="#FFFFFF" width="488">
<p align="center"><B><font face="Verdana" size="1">Total:</font></B></p>
</TD>
<TD bgcolor="#FFFFFF" width="1">
<p align="center"><font face="Verdana" size="1">
<%if total=0 then
Response.Write("0")
else
Response.Write(total+gastos)
end if
%>
</font>
</TD>
<TR>
<TD COLSPAN=3 bgcolor="#006699" width="161"><a href="pastas.asp"><img border="0" src="../sol_seguir_comp.gif"></a></TD>
<TD COLSPAN=3 bgcolor="#006699" width="306"><a href="shop2.asp?ac=fin"><img border="0" src="../sol_confirmar.gif" align="right"></a></TD>
</TABLE>
</center>
</div>
<p align="center"><font face="Verdana" size="1">
<%
' Pinto los enlaces
' si no he llamado desde PasarPorCaja
if accion<>"fin" then
%>
<%
end if
End Sub
'----------------------------------------------------------
sigue....
__________________ NormaB |