Cita:
Iniciado por maycolalvarez bienvenido al foro, le agradezco que consulte las políticas del mismo para que su estancia aquí sea de lo más agradable, por ejemplo utilizar el highlight del foro para mostrar código de una forma agradable.
Volviendo al tema me parece que estás implementando una especie de carro de compras ¿cierto?, bueno si estás registrando los productos en el array de sesión ¿de donde obtienes los precios?
el objetivo básico de un carro de compras es almacenar los ID y la cantidad de productos agregados, con ello tienes lo suficiente para consultar a la base de datos el precio del articulo y realizar el calculo correspondiente, evalúa bien tu lógica de negocio y si estoy en lo cierto comenta.
PD: trata de editar el post para añadir el highlight al mensaje anterior, leerlo así es difícil
Gracias maycoalvarez, mira los productos los obtengo mediante una consulta a la tabla productos que tengo en la base de datos, y los muestro en el formulario con el boton 'añadir a la compra', el codigo funciona bien y hace todo correcto, pero quiero saber como guardar los datos del precio de producto (que son recogidos tb de la bd), y mandarlos a confirmar, con eso me bastaria, pero claro no se como.....
Código PHP:
<?php
session_start(); //Inicio sesion
error_reporting(E_PARSE);//No mostrar errores a nivel bajo
$con = mysql_connect("localhost","root")
or die("¡No se ha podido establecer la conexión con el servidor!");
$resp = mysql_select_db("infor")
or die("¡No se ha podido seleccionar la base de datos!");
if(isset($_POST['nombre'])){
$nombre = $_POST['nombre'];
$_SESSION['usuario'] = $nombre; //Guardo el nombre del usuario en sesion
//session_register('pedido');
}
if(isset($_POST['agregar'])){ //Si se envió el primer formulario
//$_SESSION['miprecio']=$fila["precio"];
//$precios = array_keys ($_POST['precio']);
//$_SESSION['miprecio'] = $precios;
$claves = array_keys($_POST);
$producto = $claves[1];
if(!is_array($_SESSION['pedido'])) //Si no es un array
{
$_SESSION['pedido'] = array();
}
if(array_key_exists("$producto",$_SESSION['pedido'])){
$cantidad = $_SESSION['pedido']["$producto"];
$_SESSION['pedido']["$producto"] = ++$cantidad;
}
else {
$_SESSION['pedido']["$producto"] = 1;
}
}
if(isset($_GET['quitar'])){ //Si se envió el segundo formulario
$claves = array_keys($_GET);
$producto = $claves[1];
unset($_SESSION['pedido'][$producto]); //Eliminar la posicion del arreglo
} echo "Bienvenido : ".$_SESSION['usuario'];
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body bgcolor="#E0E0F8">
<a href="formulario.php"><img src="flechaizq.png"></a>
<form action="suerte.php" method="post">
<input type="hidden" name="agregar">
<?php
$resultado=mysql_query("SELECT * FROM productos WHERE stock <>'0' ORDER BY tipoproducto ASC",$con);
//Imprimimos el encabezado de la tabla:
echo "<table width=900 border=1 align=center>";
echo " <tr>";
//mysql_num_fields retorna el nº de campos (columnas) que tiene la consulta
for ($i=0; $i < mysql_num_fields($resultado); $i++)
{
//mysql_field_len devuelve el "ancho" del $i-ésimo campo de la consulta.
$longitud = mysql_field_len($resultado, $i);
echo " <td width=$longitud> <center><b>".
//mysql_field_name retorna el nombre del $i-ésimo campo de la consulta:
mysql_field_name($resultado,$i) ."</b></center></td>";
}
echo " <td width=100> <center><b>Accion</b></center></td>";
echo " </tr>";
while($fila=mysql_fetch_array($resultado)){
?>
<p>
<?php
echo ("<tr><td>" . $fila["id"] . "</td>");
echo ("<td>" . $fila["tipoproducto"] . "</td>");
echo (" <td>" . $fila["modelo"] . "</td>");
echo (" <td>" . $fila["marca"] . "</td>");
echo (" <td>" . $fila["precio"] . "</td>");
echo (" <td>" . $fila["stock"] . "</td>");
echo "<td><input type='submit' name='".$fila["tipoproducto"].$fila["modelo"].$fila["precio"]."' id='button' value='Añadir al carrito'></td>";
// echo ("<td><a href='suerte.php?id=" . $fila["id"] . "'>añadir</a></td>");
?>
</p>
<?php
}
?>
</form>
<form action="suerte.php" method="get">
<h1>En el carrito de compras tiene los siguientes productos</h1>
<input type="hidden" name="quitar">
<?php
if(!empty($_SESSION['pedido'])){ //Si hay productos en el carrito
foreach($_SESSION['pedido'] as $prod => $unidades){
echo $_SESSION['miprecio'];
echo "$unidades unidades del producto $prod";
echo "<input type='Submit' name='$prod' value='Quitar'><br>"; }
?>
</form>
<form action="confirmar.php" method="post">
<input type='Submit' name='Comprar' value="Confirmar compra">
</form>
<?php
}
?>
</body>
</html
-->en la linea 72, while($fila=mysql_fetch_array($resultado)){ es donde se recorre el resultado de la consulta SELECT * FROM productos WHERE.... para mostrar los productos de la tabla productos en mysql.