Nueva pregunta

Pregunta:

Fecha: 12-09-2017 03:58:01 (En Español)

Reflejar la suma de los precios de un carrtio[No resuelta]

Buenos días estoy haciendo un carrito de compras pero no he podido hacer que se calcule el total de los productos agregados es decir que le aparezca al cliente el valor de su compra total..


$products = $con->query("select * from product");
if(isset($_SESSION["cart"]) && !empty($_SESSION["cart"])):
?>
<table class="table table-bordered">
<thead>
<th>Cantidad</th>
<th>Producto</th>
<th>Precio Unitario</th>
<th>Total</th>
<th></th>
</thead>
<?php

foreach($_SESSION["cart"] as $c):
$products = $con->query("select * from product where id=$c[product_id]");
$r = $products->fetch_object();
?>
<tr>
<th><?php echo $c["q"];?></th>
<td><?php echo $r->name;?></td>
<td>$ <?php echo $r->price; ?></td>
<td>$ <?php echo $c["q"]*$r->price; ?></td>


<td style="width:260px;">
<?php
$found = false;
foreach ($_SESSION["cart"] as $c) { if($c["product_id"]==$r->id){ $found=true; break; }}
?>
<a href="php/delfromcart.php?id=<?php echo $c["product_id"];?>" class="btn btn-danger">Eliminar</a>
</td>


</tr>



<?php endforeach; ?>
</table>
Etiquetas: Votos: 0 - Respuestas: 4 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 12-09-2017 04:38:21 basicamente inicias una variable en cero:
    $total = 0;


    y en cada producto del carrito vas sumando asi:
    $total += $c['q'] * $r->price;


    entonces queda algo asi:
    <?php
    	$products = $con->query("select * from product");
    	$total = 0;
    	if(isset($_SESSION["cart"]) && !empty($_SESSION["cart"])):
    ?>
    <table class="table table-bordered">
    	<thead>
    		<th>Cantidad</th>
    		<th>Producto</th>
    		<th>Precio Unitario</th>
    		<th>Total</th>
    		<th></th>
    	</thead>
    	<tbody>
    		<?php
    		foreach ($_SESSION["cart"] as $c):
    		    $products = $con->query("select * from product where id=$c[product_id]");
    		    $r        = $products->fetch_object();
    		?>
    			<tr>
    				<td><?php echo $c["q"]; ?></td>
    				<td><?php echo $r->name; ?></td>
    				<td>$ <?php echo $r->price; ?></td>
    				<td>$ <?php echo $c["q"] * $r->price; ?></td>
    
    				<?php $total += $c['q'] * $r->price; ?>
    				
    				<td style="width:260px;">
    					<?php
    					    $found = false;
    					    foreach ($_SESSION["cart"] as $c) {
    					        if ($c["product_id"] == $r->id) {
    					            $found = true;
    					            break;
    					        }
    					    }
    					?>
    					<a href="php/delfromcart.php?id=<?php echo $c["product_id"]; ?>" class="btn btn-danger">Eliminar</a>
    				</td>
    			</tr>
    		<?php
    			endforeach;
    		?>
    	</tbody>
    </table>
    <?php
    	endif;
    ?>
    
      Votos: 1 - Link respuesta
     
  • Fecha: 12-09-2017 05:04:11 Muchas gracias por su ayuda pero aun sigo teniendo un problema y es que guarda la suma anterior lo cual genera confusión al cliente.
    Es decir que queda algo así:

    Q descripción precio total total a pagar
    12 Ciruela Importada gruesa caja x 9 kilos $ 9 $ 108 $ 108 Eliminar
    17 Ciruela Importada delgada caja x 9 kilos $ 9 $ 153 $ 261 Eliminar

    entonces al total 108 se suma 153 para dar un total a pagar de 261 pero el valor anterior no se borra.


      Votos: 0 - Link respuesta
     
  • Fecha: 13-09-2017 08:05:55 Calcula el total a pagar antes de desplegarlo.   Votos: 0 - Link respuesta
     
  • Fecha: 13-09-2017 09:47:19 Cómo podría calcular el total y luego desplegarlo?
    Gracias.
      Votos: -1 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com