PHP - Error con arrays

 
Vista:
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error con arrays

Publicado por Sergio (112 intervenciones) el 04/01/2022 20:16:41
Buenas tardes. A ver si me podéis ayudar. Tengo este código en php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
session_start();
  include "php/conexion.php";
  $obj=new conectar();
  $conexion=$obj->conexion();
  if(isset($_SESSION['carrito'])){
        // si existe la variable de sesión, buscamos si este producto ya estaba agregado al carrito
 
      if(isset($_GET['idropa'])){
 
        $id = $_GET['idropa'];
        $arreglo = $_SESSION['carrito'];
        $encontro =  false;
        $numero = 0;
        for($i=0; $i < count($arreglo); $i++){
          if($arreglo[$i]['Id'] == $id){
            $encontro = true;
            $numero = $i;
          }
        }
        if ($encontro = true){
 
          $arreglo[$numero]['Cantidad'] = $arreglo[$numero]['Cantidad'] + 1;
          $_SESSION['carrito'] = $arreglo;
        }else{
          // No estaba la prenda en el carrito
 
          $id = $_GET['idropa'];
          $prenda = '';
          $precio = '';
          $imagen = '';
          $sql_mujer = "SELECT * FROM detalles_ropa inner join
                      ropa on detalles_ropa.idropa = ropa.id_ropa
                      where detalles_ropa.idropa = '{$id}'";
          $resultado = mysqli_query($conexion, $sql_mujer);
          $fila = mysqli_fetch_array($resultado);
          $prenda = $fila['descripcion'];
          $precio = $fila['precio'];
          $imagen = $fila['imagen'];
          $arreglonuevo[] = array(
            'Id'        => $id,
            'Prenda'    => $prenda,
            'Precio'    => $precio,
            'Imagen'    => $imagen,
            'Cantidad'  => 1
      );
        array_push($arreglo, $arreglonuevo);
        $_SESSION['carrito'] = $arreglo;
 
      }
      }
  }else{
    // Creamos la variable de sesión
    if(isset($_GET['idropa'])){
      $idropa = $_GET['idropa'];
      $prenda = '';
      $precio = '';
      $imagen = '';
      $sql_mujer = "SELECT * FROM detalles_ropa inner join
                   ropa on detalles_ropa.idropa = ropa.id_ropa
                   where detalles_ropa.idropa = '{$idropa}'";
      $resultado = mysqli_query($conexion, $sql_mujer);
      $fila = mysqli_fetch_array($resultado);
      $prenda = $fila['descripcion'];
      $precio = $fila['precio'];
      $imagen = $fila['imagen'];
      $arreglo[] = array(
        'Id'        => $idropa,
        'Prenda'    => $prenda,
        'Precio'    => $precio,
        'Imagen'    => $imagen,
        'Cantidad'  => 1
      );
      $_SESSION['carrito'] = $arreglo;
 
    }
  }

Lo que hace:
Si no hay creada una variable de sesión, la crea con un producto. Esto lo hace bien, pero si quiero añadir otro producto distinto, no lo agrega, sino que le suma 1 al primero que se creó con la sesión.
Por la url llega bien el id. Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 54
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Error con arrays

Publicado por Sergio (112 intervenciones) el 05/01/2022 00:29:08
Buenas noches. No lo he probado pero tengo un error en la instrucción if ($encontro = true) y tiene que ser ==. Así como está ahora, siempre entra en el if. Lo pruebo y os comento. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar