Foros del Web » Programando para Internet » PHP »

Función count

Estas en el tema de Función count en el foro de PHP en Foros del Web. Buenas tardes, haber si me podeis echar una mano, ya que llevo toda la tarde con esto, y ya no se por donde tirar. Lo ...
  #1 (permalink)  
Antiguo 22/12/2016, 12:20
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 8 meses
Puntos: 0
Función count

Buenas tardes, haber si me podeis echar una mano, ya que llevo toda la tarde con esto, y ya no se por donde tirar.

Lo que estoy haciendo es un carrito, el carrito funciona perfectamente, pero ahora lo que necesitaba, es que en el icono del carrito salgo un globo con el numero de productos que estan en el carrito.
Esto lo he hecho, pero a la hora de borrar un producto del carrito, el contador se queda igual.

Os enseño lo que llevo hecho:

Código PHP:
Ver original
  1. <div class="container">
  2.   <div class="banner-servi">
  3.         <h2 class="prcaja">PRODUCTOS EN SU CARRITO</h2>
  4.  
  5.  
  6.  
  7.         <?php
  8.        
  9.  
  10.         if (isset($_POST['id_txt'])){
  11.             $id=$_POST['id_txt'];
  12.       $nombre=$_POST['nombre'];
  13.       $precio=$_POST['precio'];
  14.        $cantidad=$_POST['cantidad'];
  15.      
  16.  
  17.      
  18.       $mi_carrito[]=array('id'=>$id,'nombre'=>$nombre, 'precio'=>$precio, 'cantidad'=>$cantidad);
  19.  
  20.  
  21.         }
  22.  
  23.    
  24.    
  25.  
  26.     if (isset($_SESSION['carrito'])){
  27.          $mi_carrito=$_SESSION['carrito'];
  28.         if (isset($_POST['id_txt'])){
  29.       $id=$_POST['id_txt'];
  30.       $nombre=$_POST['nombre'];
  31.       $precio=$_POST['precio'];
  32.       $cantidad=$_POST['cantidad'];
  33.  
  34.      
  35.       $mi_carrito[]=array('id'=>$id,'nombre'=>$nombre, 'precio'=>$precio, 'cantidad'=>$cantidad);
  36. }
  37.  
  38.     }
  39.  
  40.     if (isset($_POST['id3'])){
  41.         $indice=$_POST['id3'];
  42.         $mi_carrito[$indice]=NULL;
  43.  
  44.     }
  45.  
  46.  
  47.     if (isset($mi_carrito)) $_SESSION['carrito']=$mi_carrito;
  48.  
  49.  
  50.         ?>
  51.  
  52.  
  53.    <div class="panel panel-info">
  54.   <div class="panel-heading">
  55.     <h3 class="panel-title">PRODUCTOS EN SU CARRITO</h3>
  56.   </div>
  57.   <div class="panel-body detalle-producto">
  58.     <div class="panel-body">
  59.     <div class="col-md-12">
  60.       <div class="col-md-4 cabe">Descripción</div>
  61.       <div class="col-md-2 cabe">Precio</div>
  62.       <div class="col-md-2 cabe">Cantidad</div>
  63.       <div class="col-md-2 cabe">Subtotal</div>
  64.      
  65.     </div>
  66.  
  67.     <?php
  68.  
  69.       if(isset($mi_carrito)){
  70.         for($i=0;$i<count($mi_carrito);$i++){
  71.  
  72.           if($mi_carrito[$i]<>NULL)
  73.           {
  74.                  
  75.  
  76.   ?>
  77.  
  78.     <div class="col-md-12 bord-cabe">
  79.       <div class="col-md-4 product_lista"><?php echo $mi_carrito[$i]['nombre']?></div>
  80.       <div class="col-md-2 product_lista"><?php echo $mi_carrito[$i]['precio']?>€</div>
  81.       <div class="col-md-2 product_lista"><?php echo $mi_carrito[$i]['cantidad']=1?></div>
  82.  
  83.      
  84.       <?php
  85.       $subtotal=$mi_carrito[$i]['precio']*1;
  86.       $total=$total+$subtotal;
  87.     ?>
  88.  
  89.  
  90.  
  91.       <div class="col-md-2 product_lista"><?php echo $subtotal?>€</div>
  92.       <div class="col-md-2">
  93.  
  94.       <form action="" method="post">
  95.           <input name="id3" type="hidden" value="<?php echo $i ?>" />
  96.  
  97.           <input name="" type="submit" class="btn435" value="Eliminar" />
  98.  
  99.         </form>
  100.  
  101.        
  102.         </div>
  103.  
  104.  
  105.     </div>
  106.  
  107.  
  108.   <?php
  109.  
  110. }
  111.   }
  112.       }
  113.  
  114.  
  115.  
  116.   ?>
  117.  
  118.  
  119.  
  120.     <div class="col-md-12 bord-cabe2">
  121.     <div class="col-md-8 total-prec">TOTAL: </div>
  122.  
  123.     <div class="col-md-4 total-prec2"><?php echo $total?>€ <br> <?php echo count($mi_carrito); ?></div>
  124.     </div>
  125.  
  126.  
  127.  
  128.  
  129.  
  130.     </div>
  131.   </div>
  132.    
  133.     <div class="col-md-12 seguir">
  134.       <div class="col-md-6 seguir_comprando"><a href="analisis.php"><i class="fa fa-angle-double-left" aria-hidden="true"></i>
  135.  Seguir comprando</a></div>
  136.       <div class="col-md-6 seguir_comprando izq">
  137.         <form id="form1" name="form1" method="post" action="confirmar_pedido.php">
  138.         <input type="submit" name="confirmarPedido" id="confirmarPedido" value="Confirmar Pedido" />
  139.         </form>
  140.         </div>
  141.     </div>
  142.  
  143. </div>
  144.  
  145.  
  146.  
  147.  
  148.  
  149. </div>
  150.        
  151.     </div>
  152.   </body>
  153. </html>
  154. <?php

El contador sale con esta linea, lo he puesto ahi a modo de prueba, tambien esta puesto en el menu con su icono:

Código PHP:
Ver original
  1. <?php echo count($mi_carrito); ?>
  #2 (permalink)  
Antiguo 22/12/2016, 12:59
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Función count

El problema es que asignas NULL al elemento del carrito; es un valor nulo, pero ahí está y, como dijo Peña Nieto, cuenta mucho.

Intenta usar unset() en vez de asignar NULL.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/12/2016, 13:25
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Función count

Cita:
Iniciado por Triby Ver Mensaje
El problema es que asignas NULL al elemento del carrito; es un valor nulo, pero ahí está y, como dijo Peña Nieto, cuenta mucho.

Intenta usar unset() en vez de asignar NULL.

Pero al poner uset() me marca error...

Además hay dos sitios donde poder ponerlo:

Código PHP:
Ver original
  1. if (isset($_POST['id3'])){
  2.         $indice=$_POST['id3'];
  3.         $mi_carrito[$indice]=NULL;
  4.  
  5.     }


Código PHP:
Ver original
  1. if(isset($mi_carrito)){
  2.         for($i=0;$i<count($mi_carrito);$i++){
  3.  
  4.           if($mi_carrito[$i]<>NULL)
  5.           {

En la primera opcion lo he puesto asi:

Código PHP:
Ver original
  1. $mi_carrito[$indice]=unset();

En el segundo caso:

Código PHP:
Ver original
  1. if($mi_carrito[$i]<>unset())

Ponga como lo ponga sale error en esa linea...

Gracias por tu ayuda.
  #4 (permalink)  
Antiguo 22/12/2016, 13:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Función count

Hola miguelA4,

Creo que deberías leer algo del manual...

Hay cosas que son tan básicas que se dan por supuestas, estás publicando en un foro técnico, concretamente sobre programación PHP, si no tienes unos mínimos conocimientos, es conveniente que lo avises al empezar a publicar...
  #5 (permalink)  
Antiguo 23/12/2016, 03:13
 
Fecha de Ingreso: marzo-2015
Ubicación: Valencia
Mensajes: 132
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Función count

Cita:
Iniciado por rbczgz Ver Mensaje
Hola miguelA4,

Creo que deberías leer algo del manual...

Hay cosas que son tan básicas que se dan por supuestas, estás publicando en un foro técnico, concretamente sobre programación PHP, si no tienes unos mínimos conocimientos, es conveniente que lo avises al empezar a publicar...
Hola gracias por responder, es verdad que no dije que soy novato en esto y voy a aprendiendo sobre la marcha, pero supongo que es algo habitual en gente que le gusta la programación y el diseño y van aprendiendo tal como van trabajando.

De echo nunca voy con la idea de que me solucionen el problema, pero si que me den algun consejo de como emplear las cosas, se que estan los manuales y me los voy leyendo, pero cuando estas comenzando, te lees un manual y al menos yo como no se parezca a lo que estoy haciendo no se como plasmarlo.

Se que cada persona que contesta aquí lo hace con el animo de ayudar y eso se agradece mucho, pero tener un poco de paciencia con los novatos como yo, que aveces esto es como aprender chino!

Gracias por la ayuda y voy a seguir haciendo pruebas con el manual que me pasaste.
  #6 (permalink)  
Antiguo 23/12/2016, 04:42
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Función count

Hola miguelA4,

Muchos de los que estamos aquí hemos aprendido de esa forma, algunos otros no, han aprendido a base de mucho estudio y eso es de alabar, yo te entiendo y por eso te recomendé que leas algo del manual, incluso te recomendaría algún curso o tutorial con el que puedas empezar y entender bien los conceptos iniciales.

Si después de leer el manual sigues sin entender, pregunta de nuevo que seguro encontrarás ayuda.

Etiquetas: count, html
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 21:22.