connect(); // Crear instancia de inventario para obtener productos y comerciantes: $inventario = new Inventario($db); // Obtener datos del inventario: $datos = $inventario->read(); // Contar filas de datos obtenidos: $num = $datos->rowCount(); // Si la tabla solicitada no está vacía... if ($num > 0) { // Crear arreglo de datos: $inventario_arr = array(); $inventario_arr['datos'] = array(); while($row = $datos->fetch(PDO::FETCH_ASSOC)) { extract($row); // Obtener insignias de cada comerciante: $insignias = $inventario->insignias($id_comerciante); $insignias_arr = array(); if ($insignias->rowCount() > 0) { while($row = $insignias->fetch(PDO::FETCH_ASSOC)) { extract($row); array_push($insignias_arr, $id_insignia); } } // Obtener foto de cada producto: $imagen = $inventario->imagen($id_producto); if ($imagen->rowCount() > 0) { while($row = $imagen->fetch(PDO::FETCH_ASSOC)) { extract($row); $foto = $imagen_chunk1.$imagen_chunk2; } } else { $foto = null; } // Obtener precio de cada producto: $precio = $inventario->precio($id_producto); if ($precio->rowCount() > 0) { $precio2 = $precio; while($row = $precio2->fetch(PDO::FETCH_ASSOC)) { extract($row); } } else { $precio = null; } // Añadir información ordenada de cada producto y su comerciante: $producto = array( 'producto' => $nom_producto, 'comerciante' => $nom_comerciante, 'id_producto' => $id_producto, 'id_comerciante' => $id_comerciante, 'precio' => $precio, 'imagen' => $foto, 'insignias' => $insignias_arr ); array_push($inventario_arr['datos'], $producto); } // Convertir a JSON y desplegar: echo json_encode($inventario_arr); } else { echo json_encode(array('message' => 'No hay productos disponibles.')); } ?>