Foros del Web » Programando para Internet » PHP »

PHP OO Errores carrito la compra php y mysql

Estas en el tema de Errores carrito la compra php y mysql en el foro de PHP en Foros del Web. Hola buenos dias: Estoy elaborando un carro de la compra con php y mysql , que tengo que trabajar con el el carro de la ...
  #1 (permalink)  
Antiguo 13/11/2012, 05:45
 
Fecha de Ingreso: noviembre-2012
Mensajes: 2
Antigüedad: 11 años, 4 meses
Puntos: 0
Sonrisa Errores carrito la compra php y mysql

Hola buenos dias:
Estoy elaborando un carro de la compra con php y mysql , que tengo que trabajar con el el carro de la compra.

Tengo varios problemas:

Tengo dos archivos que es carro.php y productos.php

Aqui muestro el codigo de los dos archivos.

Carro.php

<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('No puedo conectar not connect: ' . mysql_error());
}

mysql_select_db("cafeteria", $con);



if (isset($_GET['cod_producto']))
$cod_producto = $_GET['cod_producto'];
else
$cod_producto = 1;

if (isset($_GET['action']))
$action = $_GET['action'];
else
$action = "empty";


switch($action){

case "add":
if(isset($_SESSION['carro'][$cod_producto]))
$_SESSION['carro'][$cod_producto]++;
else
$_SESSION['carro'][$cod_producto]=1;
break;

case "remove":
if(isset($_SESSION['carro'][$cod_producto]))
{
$_SESSION['carro'][$cod_producto]--;
if($_SESSION['carro'][$cod_producto]==0)
unset($_SESSION['carro'][$cod_producto]);
}

break;
case "removeProd":
if(isset($_SESSION['carro'][$cod_producto])){
unset($_SESSION['carro'][$cod_producto]);
}
break;

case "mostrar":
if(isset($_SESSION['carro'][$cod_producto])){
continue;
}
break;

case "empty":
unset($_SESSION['carro']);

break;



}

/*MOSTRAR Carro*/
/*echo "<pre>";
print_r($_SESSION);
echo "</pre>";

echo "CANTIDAD: " . $_SESSION['carro'][$cod_producto] . "<br>";
echo "ID : " . $cod_producto . "<br>";*/





if(isset($_SESSION['carro'])){

$totalcoste = 0;
$xTotal = 0;
echo "<table border=0 cellspacing=5 cellpadding=3 width='500'>";
echo "<tr>";
echo "<td>Producto</td>";
echo "<td>Cantidad</td>";
echo "<td>Acción</td>";
echo "<td colspan=2 align=right>Total</td>";
echo "</tr>";
echo "<tr><td colspan=5><hr></td></tr>";


foreach($_SESSION['carro'] as $cod_producto => $x)
$_SESSION["totalcoste"] = $totalcoste;

$_SESSION["cantidadTotal"] = $xTotal;{
$xTotal = 0;
$xTotal = $xTotal + $x;
$resultado = mysql_query("SELECT cod_producto, nombre, precio FROM productos WHERE cod_producto=$cod_producto");
$mifila = mysql_fetch_array($resultado);
$cod_producto = $mifila['cod_producto'];
$nombre = $mifila['nombre'];
//acortamos el nombre del producto a 40 caracteres
$nombre = substr($nombre,0,40);
$precio = $mifila['precio'];
//Coste por artículo según la cantidad elegida
$coste = $precio * $x;
//Coste total del carro
$totalcoste = $totalcoste + $coste;

echo "<tr>";
echo "<td align='left'> $nombre </td>";
echo "<td align='center'>$x</td>";

echo "<td align='left'>";
echo "<a href='carro.php?cod_producto=". $cod_producto ."&action=add'><img src='imagenes/aumentar.png' style='padding:0 0px 0 5px;' alt='Aumentar cantidad' /></a>";
echo "<a href='carro.php?cod_producto=". $cod_producto ."&action=remove'><img src='imagenes/restar.png' alt='Reducir cantidad' /></a>";
echo "<a href='carro.php?cod_producto=". $cod_producto ."&action=removeProd'><img src='imagenes/eliminar.png' alt='Reducir cantidad' /></a></td>";

echo "<td align='right'> = </td>";
echo "<td align='right' style='margin-left:10px'>$coste €";
echo "</tr>";
}
echo "<tr><td colspan='5'><hr></td></tr>";
echo "<tr>";
echo "<td align='right' colspan='4'><b><br>Total = </b></td>";
echo "<td align='right'><b><br> $totalcoste </b> €</td>";
echo "</tr>";
//BOTON COMPRAR
echo "<tr>";
echo "<td align='right' colspan='5'>
<a href='comprar.php'><input type='button' value='finalizar compra' /></a>
</td>";
echo "</tr>";

echo "</table>";
}
else
echo "El carro está vacío";

//Campos que nos serviran para informar la cesta de lo que llevamos comprados y que se mostrará en
//la página PRODUCTOS.


echo "<p>Volver a la <a href='bebidas_usuarios.php' title='lista de productos'>lista de productos</a></p>";

mysql_close($con);
?>





y el fichero de productos.php


<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('No puedo conectar not connect: ' . mysql_error());
}

mysql_select_db("cafeteria", $con);

$resultado = mysql_query("SELECT cod_producto, nombre, descripcion, imagen, precio FROM productos where menu='bebida' AND personal='si'");





//Desplegamos una tabla con los datos de los productos




// comienza un bucle que leera todos los registros y ejecutara las ordenes que siguen
while ($productos = mysql_fetch_array($resultado)) {
echo "<tr><td style='display:none'>" . $productos['cod_producto'] . "</td>"; // id del producto que no se verá por pantalla
echo "<td>" . $productos['nombre'] . "</td>";
echo "<td>" . $productos['descripcion'] . "</td>"; // imprime el nombre del producto
echo "<td>" . $productos['imagen'] . "</td>";
echo "<td style='text-align:right'>" . $productos['precio'] . " € </td>"; // imprime el precio
echo "<td style='text-align:right'>
<a href='carro.php?cod_producto=" . $productos['cod_producto'] . "&action=add' alt='Añadir al carro'>
<img src='imagenes/productonoagregado.jpg' width='48' height='48' alt='Añadir al carrito' title='Añadir producto al carrito'>
</a>
</td>";
echo "</tr>";
} // fin del bucle de ordenes

//cerramos la etiqueta tabla
echo "</table>";


/*echo $_SESSION["totalcoste"] . "<br>";
echo $_SESSION["cantidadTotal"] . "<br>";*/

echo "</div>";

?>




Estos son los dos archivos que tengo , el problema es que cuando elijo un producto y luego quiero volver a comprar otro producto no me guarda los productos que elegido anteriormente......


Entonces me gustaria que me ayudaran si saben de que puede ser el error.


Muchas gracias.

Etiquetas: carrito, compra, errores, mysql, registro, tabla, usuarios
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 07:55.