Foros del Web » Programando para Internet » ASP Clásico »

Carrito De Compras

Estas en el tema de Carrito De Compras en el foro de ASP Clásico en Foros del Web. Hola a todos! Estoy necesitando con urgencia el código de un carrito de compras similar al de aspfacil. No es nada complejo, algo básico, pero ...
  #1 (permalink)  
Antiguo 06/11/2003, 10:43
 
Fecha de Ingreso: enero-2003
Ubicación: Capital Federal
Mensajes: 19
Antigüedad: 21 años, 4 meses
Puntos: 0
Mensaje Carrito De Compras

Hola a todos!
Estoy necesitando con urgencia el código de un carrito de compras similar al de aspfacil.
No es nada complejo, algo básico, pero no pude encontrar otro sitio en español con el código.

POR FAVOR!!!! alguien me podria pasar algun codigo que tengan?!?!
Desde ya muchisimas gracias!
  #2 (permalink)  
Antiguo 06/11/2003, 16:28
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Cart

Q tal Seba???
Te paso el codigo de un carrito q arme, espero q te sirva. Es re basico y facil de entender, pero lo weno es q funciona.
Te paso pagina por pagina.
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #3 (permalink)  
Antiguo 06/11/2003, 16:31
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
listado.asp

listado.asp (la principal)
Código:
<HTML>
	<HEAD>
		<TITLE>Ejemplo Carrito de Compras</TITLE>
	</HEAD>
	<BODY>
		<H1><CENTER>Listado de Artículos</CENTER></H1>
		<CENTER>
		<TABLE BORDER=0>
			<TR><TD>Cod</TD><TD>Desc.</TD><TD>Prec</TD><TD>Cant.</TD>
<%
			set conn=server.createobject("ADODB.connection")
			conn.open "miodbc"
			set rs=server.createobject("ADODB.recordset")
			rs.open "select * from articulos",conn
			while not rs.eof
%>
				<TR>
				<TD><%=rs("id")%></TD>
				<TD><%=rs("descrip")%></TD>
				<TD><%=rs("precio")%></TD>
				<TD><Input type="text" value="0" name="cant<%=rs("id")%>"></TD>
				<TD><IMG SRC="carrito.gif" ONCLICK="javascript:window.location='agregar.asp?cod=<%=rs("id")%>&cant='+cant<%=rs("id")%>.value"></TD>
				</TR>
<%
				rs.movenext
			wend
			rs.close
			conn.close
%>
		</TABLE>
		<BR><Input type="button" value="Ver Carrito" ONCLICK="javascript:window.location='ver.asp'">	
	</BODY>
</HTML>
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #4 (permalink)  
Antiguo 06/11/2003, 16:33
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
agregar.asp

agregar.asp (sep, sin html)
Código:
<%
	codigo=request.querystring("cod")
	cantidad=request.querystring("cant")

	set carrito=server.createobject("scripting.dictionary")
	set carrito=session("micarrito")

	if not carrito.exists(codigo) then
		carrito.add codigo,cantidad
	else
		carrito.item(codigo)=cint(carrito.item(codigo))+cantidad
	end if
	
	set session("micarrito")=carrito

	response.redirect("listado.asp")

%>
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #5 (permalink)  
Antiguo 06/11/2003, 16:35
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
ver.asp

ver.asp (el q nos muestra lo q pensamos comprar)
Código:
<HTML>
	<HEAD>
		<TITLE>Ejercicio Carrito</TITLE>
	</HEAD>
	<BODY>
		<CENTER>
		<H1>Ver Carrito</H1><BR>
		<TABLE BORDER=0>
			<TR><TD>Cod</TD><TD>Desc.</TD><TD>Prec</TD><TD>Cant.</TD><TD>Subtot</TD></TR>
<%
			dim total,codigos,x
			set carrito=server.createobject("scripting.dictionary")
			set carrito=session("micarrito")

			total=0
			codigos=carrito.keys

			set conn=server.createobject("ADODB.connection")
			conn.open "miodbc"

			for x=0 to carrito.count-1
				set rs=server.createobject("ADODB.recordset")
				rs.open "select * from articulos where id=" & codigos(x),conn
%>
				<TR>
				<TD><%=rs("id")%></TD>
				<TD><%=rs("descrip")%></TD>
				<TD><%=rs("precio")%></TD>
				<TD><%=carrito.item(codigos(x))%></TD>
				<TD><%=rs("precio")*carrito.item(codigos(x))%></TD>
				</TR>
<%
				total=total+(rs("precio")*carrito.item(codigos(x)))
				rs.close
			next
%>
		</TABLE>
		<H3>Total : <%=total%>
		<BR><BR><Input type="button" value="Comprar" ONCLICK="javascript:window.location='grabar.asp'">	
		<BR><Input type="button" value="Elejir" ONCLICK="javascript:window.location='listado.asp'">	
	</BODY>
</HTML>
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #6 (permalink)  
Antiguo 06/11/2003, 16:37
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
grabar.asp

grabar.asp (efectua el pedido, lo ingresa a la base)
Código:
<%
	dim codigos,x,nroped
	set carrito=server.createobject("scripting.dictionary")
	set carrito=session("micarrito")
	
	set conn=server.createobject("ADODB.connection")
	conn.open "miodbc"
	
	set rs1=server.createobject("ADODB.recordset")
	rs1.open "select max(nro) as maximo from pedidos", conn
	if isnull(rs1("maximo")) then
		nroped=1
	else
		nroped=rs1("maximo")+1
	end if
	rs1.close

	codigos=carrito.keys
	
	for x=0 to carrito.count-1
		conn.execute "insert into pedidos (nro,id,cantidad) values (" & nroped & "," & codigos(x) & "," & carrito.item(codigos(x)) & ")"
	next

	conn.close
	
	carrito.removeall
	set session("micarrito")=carrito

%>
	<H1> su pedido fue ingresado </H1>
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #7 (permalink)  
Antiguo 06/11/2003, 16:44
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Global.asa

Global.asa (infaltable)
Código:
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

sub session_onstart
	set carrito=server.createobject("Scripting.dictionary")
	set session("micarrito")=carrito
end sub

</SCRIPT>
Y como fue poco codigo aprovecho para ponerte aca mismo las caracteristicas de la base:
base.mdb está compuesta por dos tablas, "Articulos" y "Pedidos".
Dentro de Articulos, estan los campos "ID", "Descrip" y "Precio".
Dentro de Pedidos, estan los campos "Nro", "ID" y "Cantidad".
Por ultimo solo te queda conseguirte una imagen llamada carrito.gif y ya estas.
Como ves es super simple, la base la tenes q completar vos, abriendo el .mdb, pero si queres te podes hacer una pagina con un comando insert y en dos minutos tas listo.
En fin, si queres te podes bajar otros muchisimo mas complejos, pero este es como para entender la idea.
Saludos
Espero q te haya servido

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #8 (permalink)  
Antiguo 07/11/2003, 08:54
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
Que puede ser me aparece este error

Microsoft JET Database Engine (0x80040E10)
No se han especificado valores para algunos de los parámetros requeridos.
/carro/ver.asp, line 24
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #9 (permalink)  
Antiguo 08/11/2003, 11:36
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
mmm... la verdad q ni idea, voy a investigar eso y si averiguo te comento.
Saludos

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #10 (permalink)  
Antiguo 10/11/2003, 10:07
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
podrias checkear el error conversando con otros forinos tambien les da ese error por fa'
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #11 (permalink)  
Antiguo 10/11/2003, 11:12
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
tal vez sea la bd puedes subirte la que tu ocupas please!!
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #12 (permalink)  
Antiguo 11/11/2003, 22:14
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Base.mdb
Disculpen la demora. Espero q les sirva.
Saludos

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #13 (permalink)  
Antiguo 12/11/2003, 06:43
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
ahora si po compañero.....
ejaleee funciona de maravilla
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #14 (permalink)  
Antiguo 12/11/2003, 10:07
Avatar de sktrpunk  
Fecha de Ingreso: septiembre-2003
Ubicación: Montevideo
Mensajes: 227
Antigüedad: 20 años, 9 meses
Puntos: 0
Sonrisa

Q Bien
Saludos

AlvAro
__________________
- Sk8 FoR LiFe -
Stay away from my Black Book
  #15 (permalink)  
Antiguo 12/11/2003, 10:10
 
Fecha de Ingreso: enero-2003
Ubicación: Capital Federal
Mensajes: 19
Antigüedad: 21 años, 4 meses
Puntos: 0
Muchas gracias AlvAro!!
  #16 (permalink)  
Antiguo 12/11/2003, 10:16
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
a mi me dice
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado

/ver.asp, line 19
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #17 (permalink)  
Antiguo 12/11/2003, 10:23
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
tienes que crear un dsn de sistema para conectar los datos mira yo lo hice asi :

cambia esta linea
Código PHP:
    set conn=server.createobject("ADODB.connection")
    
conn.open "miodbc" 
por esta otra si no quieres crear el dsn

Código PHP:
Set conn Server.CreateObject("ADODB.Connection")
Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
Server
.MapPath("base.mdb")) 
Suerte
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #18 (permalink)  
Antiguo 12/11/2003, 11:50
Avatar de affv  
Fecha de Ingreso: diciembre-2002
Ubicación: Ahora aqui
Mensajes: 485
Antigüedad: 21 años, 6 meses
Puntos: 0
gracias
__________________
Todo tiene un comienzo y un fin!!
Postea tus proyectos
  #19 (permalink)  
Antiguo 26/11/2003, 23:46
 
Fecha de Ingreso: noviembre-2003
Ubicación: Pvcia. de Bs. A.s
Mensajes: 20
Antigüedad: 20 años, 6 meses
Puntos: 0
Tenfo un pequeño problema.......en el carrito de compras

Hola, a ver si alguien puede ayudarme por favor, me baje el codigo de Alvaro del carrito de compras pero me tira este error:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Administrador de controladores ODBC] No se encuentra el nombre del origen de datos y no se especificó ningún controlador predeterminado
/MisSitiosASP/Carrito De Compras1/ver.asp, line 23


tambien tengo dudas con la linea 17 de ver.asp:
dice:::
set carrito=session("micarrito")
al ejecutar ver.asp me dice que falta el objeto ["undefinied"]


POr favor si alguien lo tiene y le funciona bien
Seria tan amable de manarmelo ????

Saludos a todos!
  #20 (permalink)  
Antiguo 27/11/2003, 00:24
 
Fecha de Ingreso: noviembre-2003
Ubicación: Pvcia. de Bs. A.s
Mensajes: 20
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Cart

Hola sktrpunk, el carrito me tira este error al querer agregar un producto:


Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: 'session(...)'
/agregar.asp, line 6

La linea 6 dice:

set carrito=session("micarrito")


Y al querer ver el carrito me tira el siguiente error:

Tipo de error:
Error de Microsoft VBScript en tiempo de ejecución (0x800A01A8)
Se requiere un objeto: '[undefined]'
/ver.asp, line 13


La linea 13 dice:

set carrito=session("micarrito")

:S Me estoy volviendo loco por favor ayuda!! estoy seguro que es una pabada pero no logro encontrar donde esta el error....

gracias.
  #21 (permalink)  
Antiguo 27/11/2003, 06:45
Avatar de dobled  
Fecha de Ingreso: enero-2002
Ubicación: Rancagua - Chile
Mensajes: 1.328
Antigüedad: 22 años, 4 meses
Puntos: 2
JAJAJA los tiene loko ese error
miren para solucionarlo copiense el global.asa a la raiz del sitio y les va a funcionar bien

chaozzzzzzz
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.
  #22 (permalink)  
Antiguo 27/11/2003, 21:24
 
Fecha de Ingreso: noviembre-2003
Ubicación: Pvcia. de Bs. A.s
Mensajes: 20
Antigüedad: 20 años, 6 meses
Puntos: 0
Gracias dobled, pero sigue haciendo lo mismo poniendo el global.asa en la raiz

Ahora me pone mas loko qui antes......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:54.