Escolar Documentos
Profissional Documentos
Cultura Documentos
css
Buscar
Hola Elias07
Panel Control
Cerrar Sesin
varchar(100),precio decimal(9,2))
Tambin vamos a necesitar algunas imgenes para ayudar visualmente al usuario que va a
utilizar nuestro carrito (en el ejemplo vamos a utilizar estas, luego cada uno las reemplaza
por las que quiera):
Imagen de producto no agregado al carrito:
productonoagregado.gif
Imagen de producto agregado:
productoagregado.gif
Botn para eliminar un producto del carrito:
trash.gif
Botn para actualizar las cantidades de un producto agregado:
actualizar.gif
Botn para continuar la seleccin de artculos:
continuar.gif
Botn para ver el contenido del carrito:
vercarrito.gif
Con estos elementos, podemos crear el archivo agregacar.php, que nos servir para
introducir productos dentro del carro (y para modificar sus cantidades) y que contendr el
siguiente cdigo:
<?php
session_start();
//con session_start() creamos la sesin
//si no existe o la retomamos si ya ha
//sido creada
extract($_REQUEST);
//la funcin extract toma las claves
//de una matriz asoiativa y las
//convierte en nombres de variable,
//asignndoles a esas variables
//valores iguales a los que tena
//asociados en la matriz. Es decir,
//convierte a $_GET['id'] en $id,
//sin que tengamos que tomarnos el
Luego creamos el archivo borracar.php, que nos permitir eliminar artculos que hayamos
Luego creamos el archivo borracar.php, que nos permitir eliminar artculos que hayamos
ingresado:
<?php
session_start();
//con session_start()
//creamos la sesin si
//no existe o la retomamos
//si ya ha sido creada
extract($_GET);
//Como antes, usamos
//extract() por comodidad,
//pero podemos no hacerlo
//tranquilamente
$carro=$_SESSION['carro'];
//Asignamos a la variable
//$carro los valores
//guardados en la sessin
unset($carro[md5($id)]);
//la funcin unset borra
//el elemento de un array
//que le pasemos por
//parmetro. En este caso
//la usamos para borrar el
//elemento cuyo id le pasemos
//a la pgina por la url
$_SESSION['carro']=$carro;
//Finalmente, actualizamos
//la sessin, como hicimos
//cuando agregamos un producto
//y volvemos al catlogo
header("Location:catalogo.php?".SID);
?>
//enviar el resultado de un
//script al navegador. Si
//no las utilizamos estamos
//obligados a que nuestra
//primera lnea de cdigo
//sea session_start() u
//obtendremos un error
session_start();
//conectamos a la base de
//datos
mysql_connect("localhost","usuario","password");
mysql_select_db("db");
//rescatamos los valores
//guardados en la variable de
//sesin (si es que hay alguno,
// cosa que comprobamos con isset)
//y los asignamos a $carro.
//Si no existen valores, ponemos a false
//el valor de $carro
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;
//y hacemos la consulta
$qry=mysql_query("select * from catalogo order by producto asc");
?>
<html>
<head>
<title>CATLOGO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!-.catalogo {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #333333;
}
-->
</style>
</head>
<body>
<table width="272" align="center" cellpadding="0" cellspacing="0" style="border:
1px solid #000000;">
</body>
</html>
<?php
ob_end_flush();
?>
-->
</style>
</head>
<body>
<h1 align="center">Carrito</h1>
<?php
if($carro){
//si el carro no est vaco,
//mostramos los productos
?>
<table width="720" border="0" cellspacing="0" cellpadding="0" align="center">
<tr bgcolor="#333333" class="tit">
<td width="105">Producto</td>
<td width="207">Precio</td>
<td colspan="2" align="center">Cantidad de Unidades</td>
<td width="100" align="center">Borrar</td>
<td width="159" align="center">Actualizar</td>
</tr>
<?php
$color=array("#ffffff","#F0F0F0");
$contador=0;
//las 2 lneas anteriores
//sirven slo para hacer
//una tabla con colores
//alternos
$suma=0;
//antes de recorrer todos
//los valores de la matriz
//$carro, ponemos a cero la
//variable $suma, en la que
//iremos sumando los subtotales
//del costo de cada item por la
//cantidad de unidades que se
//especifiquen
foreach($carro as $k => $v){
//recorremos la matriz que tiene
//todos los valores del carro,
//calculamos el subtotal y el
// total
$subto=$v['cantidad']*$v['precio'];
$suma=$suma+$subto;
$contador++;
$contador++;
//este es el contador que usamos
//para los colores alternos
?>
<form name="a<?php echo $v['identificador'] ?>" method="post"
action="agregacar.php?<?php echo SID ?>" id="a<?php echo $v['identificador'] ?>">
<tr bgcolor="<?php echo $color[$contador%2]; ?>" class='prod'>
<td><?php echo $v['producto'] ?></td>
<td><?php echo $v['precio'] ?></td>
<td width="43" align="center"><?php echo $v['cantidad'] ?></td>
<td width="136" align="center">
<input name="cantidad" type="text" id="cantidad" value="<?php echo $v['cantidad'] ?
>" size="8">
<input name="id" type="hidden" id="id" value="<?php echo $v['id'] ?>"> </td>
<td align="center"><a href="borracar.php?<?php echo SID ?>&id=<?php echo $v['id'] ?
>"><img src="trash.gif" width="12" height="14" border="0"></a></td>
<td align="center">
<input name="imageField" type="image" src="actualizar.gif" width="20" height="20"
border="0"></td>
</tr></form>
<?php
//por cada item creamos un
//formulario que submite a
//agregar producto y un link
//que permite eliminarlos
}
?>
</table>
<div align="center"><span class="prod">Total de Artculos: <?php echo
count($carro);
//el total de items va a ser igual
//a la cantidad de elementos que
//tenga la matriz $carro, valor
//que obtenemos con la funcin
//count o con sizeof
?></span>
</div><br>
<div align="center"><span class="prod">Total: $<?php echo number_format($suma,2);
//mostramos el total de la variable
//$suma formatendola a 2 decimales
?></span>
</div><br>
<div align="center"><span class="prod">Continuar la seleccin de productos</span>
<a href="catalogo.php?<?php echo SID;?>">
<img src="continuar.gif" width="13" height="13" border="0"></a>
</div>
<?php }else{ ?>
<p align="center"> <span class="prod">No hay productos seleccionados</span>
<a href="catalogo.php?<?php echo SID;?>">
<img src="continuar.gif" width="13" height="13" border="0"></a>
<?php }?>
</p>
</body>
</html>
Autor
Andrs Fernndez
Subir
Manual
Taller de PHP
Segmentacin por pas para OpenAds
Compartir
3
Compartir
0
Tweet
Comentarios
Enviar un comentario al artculo
Nestor
Donde estan los archivos para desgargarlos?
02/10/2007
NiSiS
Buenas me gustaria saber como ago para agregar cosas al catalogo si me puede
02/10/2007
informar se lo agredeceria!!!
Marcar como spam
ndweb
Este script ya lo lo conocia y funciona bien para agregar nuevos productos al catalogo la 02/10/2007
unica forma de hacerlo es ingresando nuevos registros directamente a la base de datos.
Mi preguntas es como destruyo la session al cerrar el navegador
Marcar como spam
Javier
Yo tampoco veo el boton para descargar
03/10/2007
Sergio
Bueno, me doy cuenta que cada vez soy mas torpe. Busco una buena persona que le
04/10/2007
MondoLirondo
en la siguiente direccin te puedes bajar el carrito:
07/10/2007
http://www.desarrolloweb.com/manuales/56/
saludos
Marcar como spam
Olber
Hola, el archivo catalogo.php me genera un error que dice: Warning:
28/11/2008
fabian_ferney_alvarez_ orez
darte las gracias
06/7/2009
viviana garcia
mil gracias
15/8/2009
walter
agradecer y consultar
04/5/2010
agradecer y consultar
04/5/2010
bueno quiero partir dando las gracias ya que este articulo me sirvio demasiado, me
saque un gran peso de encima. Pero me gustaria consultar como se puede hacer para tener un solo
boton actualizar que cambie todos los productos, es decir no tener que cambiar la cantidad de un
producto, actualizar, volver, cambiar la cantidad de otro producto, actualizar, etc..
Marcar como spam
eric17
ver carrito
20/10/2010
cuando uno ve directamente el carrito sale con 1 articulo pero sin nombre como puedo
hacer para que no me salga nada ahi
Marcar como spam
daniel
ayuda
19/1/2011
Mainor
Carrito de Compras
30/1/2011
Ya tengo los archivos en php que muestras en esta pagina, pero no me hubico como
hago para incrustar ese carrito para que me funcione en pagina html, necesito hacer una pagina que
pueda ir agregando articulos al carro de compras y que la recopilacion de esa informacion sea
enviada a un correo para luego ponerme en contacto con ese comprador o en todo caso llevarlo a
realizar el pago por paypal
Ayudeme por favor
Dios les bendiga pro esta pagina
Marcar como spam
rexona
Necesito ayuda
08/2/2011
Quisiera que alguien me guiara con un asunto de un carrito de compra, resulta que tengo que hacer
un carro donde sobre una eleccion de un producto inicial se le puedan ir sumando caracteristicas,
por ejemplo al elegir un cuadro luego se le pueda sumar la eleccion de un marco, o por ejemplo, al
elegir un carro se le pueda agregar acto seguido, un color, unos rines diferentes, entre una variedad
de opciones... si existe dentro de wordpress algun pluggin con estas caracteristicas tambien me
serviria.
De antemano agradezco cualquier colaboracion que me den.
aqui les dejo un ejemplo de lo que necesito...
http://www.overstockart.com/cafteratnig1.html
por favor me pueden enviar cualquier ayuda a mi correo smiomnoink@hotmail.com
Marcar como spam
leimerfco
no he podido poner a funcionar el carrito
27/4/2011
sergio
me gustaria saber las partes en que esta constituido un carro de la compra. Gracias
19/5/2011
Las partes i materiales mas importantes del carro, i si pudiera ser los precios! muchas
gracias
Marcar como spam
javier madariaga
ayuda sobre esta linea
07/9/2011
eslomao
errores en codigo
14/9/2011
hola , he compiado ese codigo pero me da varios errores, aki los detallo
mysql_fetch_assoc () espera un parmetro a ser el recurso, boleano dado en C: xampp htdocs
Proyecto catalogo.php on line 33
Advertencia : mysql_fetch_array () espera un parmetro a ser el recurso, boleano dado en C: xampp
htdocs Proyecto agregacar.php en la lnea 9
Advertencia : No se puede modificar la informacin de cabecera - cabeceras ya enviado por (la
produccin comenz en C: xampp htdocs Proyecto agregacar.php: 9) en C: xampp htdocs Proyecto
agregacar.php on line 16
aki pongo el codigo completo de CATALOGO.PHP
<?php
ob_start("ob_gzhandler");
mysql_connect("localhost","root","");
mysql_select_db("carrito de compras");
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;
$qry=mysql_query("select * from catalogo order by producto asc");
?>
<html>
<head>
<title>CATÁLOGO</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!-.catalogo {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 9px;
color: #333333;
}
-->
</style>
</head>
<body>
<table width="272" align="center" cellpadding="0" cellspacing="0" style="border: 1px solid
#000000;">
#000000;">
<tr valign="middle" bordercolor="#FFFFFF" bgcolor="#DFDFDF" class="catalogo">
<td width="170"><strong>Producto</strong></td>
<td width="77"><strong>Precio</strong></td>
<td width="25" align="right"><a href="vercarrito.php?<?php echo SID ?>" title="Ver el contenido del
carrito">
<img src="vercarrito.gif" width="25" height="21" border="0"></a></td>
</tr>
<?php
while($row=mysql_fetch_assoc($qry)){
if( $qry = mysql_query("SELECT * FROM 'catalogo' where id='".$id."'") ) {
}
else {
echo 'Fallo en la consulta SQL: '.mysql_error();
}
?>
<tr valign="middle" class="catalogo">
<td><?php echo $row['producto'] ?></td>
<td><?php echo $row['precio'] ?></td>
<td align="center">
<?php
if(!$carro || !isset($carro[md5($row['id'])]['identificador']) || $carro[md5($row['id'])]
['identificador']!=md5($row['id'])){
?>
<a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>">
<img src="productonoagregado.gif" border="0" title="Agregar al Carrito"></a><?php }else
{?><a href="borracar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>">
<img src="productoagregado.gif" border="0" title="Quitar del Carrito"></a><?php } ?></td>
</tr><?php }?>
</table>
</body>
</html>
<?php
ob_end_flush();
?>
alguna solucion ???? gracias
Rafael Agundis
Para que batallar
16/11/2011
No entiendo para que batallar, ya existen sitios que te rentan el carrito de compras bien
hecho y con todo lo necesario como traduccion a 6 idiomas de los productos, chat, area de
administracion, diseo grafico profesional etc. El mejor sitio es Empresa123, yo lo he usado y mis
clientes estan contentos:
http://www.empresa123.com
Marcar como spam
jinn
ingreso de producto
12/4/2012
prove los codigos conforme indicaba pero no puedo ingresar productos o agragar, cual
seria mi respuesta ???????
Marcar como spam
faneosg
descarga del Carro de compras
03/6/2012
Carlos Kravitz
Duda sobre datos que no aparecen...
15/6/2012
He estado leyendo el cdigo, al parecer todo esta correcto...el nico detalle que me
surgi es cuando visualizo el carrito....lo que son las columnas de Producto y Precio no se ven....al
igual que la suma total de la venta que se realizar...fui siguiendo las lineas y al parecer todo esta
correcto...quizas algo se me este pasando y ah sea la solucin....gracias....Espero respuesta y en lo
que pueda aportar....
Marcar como spam
eneas
Graciias
buena onda! que buen tutorial si nos sirvio mucho! :)
10/7/2012
Eva
No veo enlace de descarga
02/8/2012
Hola, muy buen manual, pero no veo el enlace de descarga (uso IE8).
Marcar como spam
mmilton
No funciona
04/9/2013
astrid
como veo el nombre
14/2/2014
Pasa que al seleccionar me envia a la hoja siguiente, pero alla solo muestra la cantidad y
precio, pero no muestra el nombre del producto.
agraderia una ayudita pr favor, a mi correo: astriddmendez@yahoo.com
Desde ya muchas gracias y Dios los bendiga.:
Marcar como spam
guicholuco
Que estar pasando?
22/5/2014
Dani
funciona bien
Funciona Perfecto!!! esto me va a ser de gran utilidad. Muchas gracias!!
Marcar como spam
20/5/2015
Principales
Monotemticos
Blogging
Manuales
Desde cero
Actualidad
FAQs
HTML, CSS
De inters
En directo
Javascript, Ajax
Agenda
Vdeos
Diseo, ASP
Powered by: