Foros del Web » Programando para Internet » PHP »

combinar dos bucles

Estas en el tema de combinar dos bucles en el foro de PHP en Foros del Web. Hola a todos: Este bucle me va sacando los datos del producto y la cantidad para el array $carro Los datos que aparecen son los ...
  #1 (permalink)  
Antiguo 27/08/2010, 05:14
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 16 años, 3 meses
Puntos: 0
combinar dos bucles

Hola a todos:

Este bucle me va sacando los datos del producto y la cantidad para el array $carro
Los datos que aparecen son los productos comprados y las cantidades compradas de producto

foreach($carro as $k => $v){
echo $producto=$v['producto']." ";

echo $cantidad=$v['cantidad'];

}

Con este otro bucle leo los productos y cantidades existentes en la tabla catalogo (previamente habria conectado y seleccionado la base de datos)

$resultado=mysql_query("select * from catalogo");
while ($fila=mysql_fetch_array($resultado)){

echo $productot=$fila['producto']." ";

echo $cantidadt=$fila['cantidad'];

}


Mi pregunta es si alguien sabe como podria hacer para deducir los valores comprados de los valores de la tabla, por ejemplo si he comprado 20 mesas y hay en la tabla 30 mesas hacer 30-20=10

Agradeceria si alguien me pudiese dar alguna indicacion
Gracias a todos y que vaya bien
  #2 (permalink)  
Antiguo 27/08/2010, 05:25
Avatar de bNd170  
Fecha de Ingreso: agosto-2009
Ubicación: $this->setLocation('Valencia', 'Spain');
Mensajes: 365
Antigüedad: 15 años, 3 meses
Puntos: 13
Respuesta: combinar dos bucles

No entiendo bien lo que pretendes, porque sacas todos los productos de la tabla si el cliente no los ha pedido?

Yo haria un IN en la SQL con las ID de los productos y una vez sacados miraria si la cantidad en stock es menor que la cantidad solicitada por el cliente, si es asi emitiria un mensaje, en caso contrario, si se confirma el pedido, restar la cantidad pedida al stock actual y actualizaria el dato en la base de datos.
  #3 (permalink)  
Antiguo 27/08/2010, 07:11
Avatar de JOSANCIN  
Fecha de Ingreso: septiembre-2008
Ubicación: huesca
Mensajes: 298
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: combinar dos bucles

Hola, gracias por la respuesta, mira, tengo un array en el que se almacenan los valores de unos productos a medida que los selecciono con el carrito de la compra, el array es el siguiente:

$carro[md5($id)]=array('identificador'=>md5($id),'cantidad'=>$cant idad,'producto'=>$row['producto'],'precio'=>$row['precio'],'id'=>$id);

Lo que quiero es que esos valores que ya he pagado se descuenten de los stocks de la tabla, por ejemplo si tengo 10 mesas y compro 3 que en la tabla se haga de alguna forma un update por 7 en el campo en cuestion

Gracias y que vaya bien
  #4 (permalink)  
Antiguo 27/08/2010, 07:30
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 14 años, 11 meses
Puntos: 12
Respuesta: combinar dos bucles

Se me ocurre

Código:
$resultado=mysql_query("select * from catalogo");
while ($fila=mysql_fetch_array($resultado)){

echo $productot=$fila['producto']." ";

echo $cantidadt=$fila['cantidad'];

	foreach($carro as $k => $v){
		$producto=$v['producto']." ";  //compra mesas
		$cantidad=$v['cantidad']; //compra 10

	}
if($productot=$fila['producto'] == $producto=$v['producto'] )
	$resultado  = $cantidadt=$fila['cantidad'] - $cantidad=$v['cantidad'];

echo $resultado;
}
dependiendo de tu array verificas que esté dentro o fuera del foreach

Etiquetas: bucles, combinar, dos
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 09:23.