Categorias
iiiiii
Productos segun categorias
Descripcion
Este ejemplo muestra como traer los productos de c
html
tablas :
productos : id_producto,descripcion,fotodelproducto ,id_categoria
categorias : categoria_id,categoria_nombre, categoria_id
array que retorna:
Array
(
[0] => Array
(
[categoria] => Mercafuller
[productos] => Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[0] => esto es solo una prueba
[1] => foto_producto.jpg
[2] => 9
)
[1] => Array
(
[0] => sfsdfs
[1] => foto_producto.jpg
[2] => 10
)
[2] => Array
(
[0] => Producto fuller 0
[1] => foto_producto.jpg
[2] => 15
)
[3] => Array
(
[0] => Producto fuller 1
[1] => foto_producto.jpg
[2] => 16
)
)
[1] => Array
(
[0] => Array
(
[0] => Producto fuller 3
[1] => foto_producto.jpg
[2] => 17
)
[1] => Array
(
[0] => Producto fuller 4
[1] => foto_producto.jpg
[2] => 18
)
[2] => Array
(
[0] => Producto fuller 5
[1] => foto_producto.jpg
[2] => 19
)
[3] => Array
(
[0] => Producto fuller 6
[1] => foto_producto.jpg
[2] => 20
)
)
)
)
)
[1] => Array
(
[categoria] => Categorias de Productos
[productos] => Array
(
[0] => Array
(
)
)
)
[2] => Array
(
[categoria] => Accesorios para celulares
[productos] => Array
(
[0] => Array
(
)
)
)
[3] => Array
(
[categoria] => Celulares
[productos] => Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[0] => hhhhhhhhhhhh
[1] => WhatsApp_Image_2018_03_06_at_11.48.10_AM.jpeg
[2] => 14
)
[1] => Array
(
[0] => calular 0
[1] => foto_producto.jpg
[2] => 23
)
[2] => Array
(
[0] => x celular
[1] => foto_producto.jpg
[2] => 27
)
)
)
)
)
[4] => Array
(
[categoria] => Accesorios PC
[productos] => Array
(
[0] => Array
(
)
)
)
[5] => Array
(
[categoria] => Baterías
[productos] => Array
(
[0] => Array
(
)
)
)
[6] => Array
(
[categoria] => Protectores
[productos] => Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[0] => nosotras 0
[1] => foto_producto.jpg
[2] => 24
)
)
)
)
)
[7] => Array
(
[categoria] => Plásticos
[productos] => Array
(
[0] => Array
(
)
)
)
[8] => Array
(
[categoria] => Vidrio
[productos] => Array
(
[0] => Array
(
)
)
)
[9] => Array
(
[categoria] => Manos libres
[productos] => Array
(
[0] => Array
(
)
)
)
[10] => Array
(
[categoria] => Teclado
[productos] => Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[0] => teclad 5
[1] => foto_producto.jpg
[2] => 25
)
)
)
)
)
[11] => Array
(
[categoria] => Monitor
[productos] => Array
(
[0] => Array
(
)
)
)
[12] => Array
(
[categoria] => Mouse
[productos] => Array
(
[0] => Array
(
)
)
)
[13] => Array
(
[categoria] => Gama Alta
[productos] => Array
(
[0] => Array
(
)
)
)
[14] => Array
(
[categoria] => Iphone 6
[productos] => Array
(
[0] => Array
(
[0] => Array
(
[0] => Array
(
[0] => es una cortina decorativa para el hogar
[1] => public_/img/productos/foto.jpg
[2] => 8
)
)
)
)
)
[15] => Array
(
[categoria] => Samsung S8
[productos] => Array
(
[0] => Array
(
)
)
)
[16] => Array
(
[categoria] => Gama Media
[productos] => Array
(
[0] => Array
(
)
)
)
[17] => Array
(
[categoria] => Gama Baja
[productos] => Array
(
[0] => Array
(
)
)
)
[18] => Array
(
[categoria] => Adultos
[productos] => Array
(
[0] => Array
(
)
)
)
[19] => Array
(
[categoria] => Adultos
[productos] => Array
(
[0] => Array
(
)
)
)
[20] => Array
(
[categoria] => pppp555
[productos] => Array
(
[0] => Array
(
)
)
)
)
javascript
<?php
//modelo productosPorCategoria
select
c.categoria_nombre,
p.id_producto, p.id_categoria,p.descripcion ,p.fotodelproducto
from
categorias as c ,
productos as p
WHERE c.categoria_id = p.id_categoria
ORDER BY p.id_categoria asc
// array devuelto por la consula productosPorCategoria
[0] => Array
(
[0] => Array
(
[categoria_nombre] => Mercafuller
[id_producto] => 9
[id_categoria] => 1
[descripcion] => esto es solo una prueba
[fotodelproducto] => foto_producto.jpg
)
[1] => Array
(
[categoria_nombre] => Mercafuller
[id_producto] => 10
[id_categoria] => 1
[descripcion] => sfsdfs
[fotodelproducto] => foto_producto.jpg
)
);
// modelo getCategorias
select * from categorias where estado = 1
/***********************Function objetivo******************************************/
$categorias= $catalogo->getCategorias();
$productosPorCategoria=$producto->getProductosByCategoria();
//$array=array();
$miarray=array();
/*for categorias*/
for ($a=0; $a <sizeof($categorias) ; $a++) {
// array que guardar los productos en grupos de a 8
$productosArray= array();
// esta vairbale se usa para permitir que solo en la variable $productosArray se guarden 8 productos
$r=0;
for ($i=0; $i <sizeof($productosPorCategoria) ; $i++) {
//echo $categorias[$a]["categoria_id"] ."==". $productosPorCategoria[$i]["id_categoria"]."<br>";
if($categorias[$a]["categoria_id"] == $productosPorCategoria[$i]["id_categoria"]){
if($r<=7){
$detalleProducto=array(
$productosPorCategoria[$i]["descripcion"],
$productosPorCategoria[$i]["fotodelproducto"],
$productosPorCategoria[$i]["id_producto"]
);
array_push($productosArray, $detalleProducto);
// cada vez que se introduce un
$r++;
}
}
}
$miarray[$a]["categoria"]=$categorias[$a]["categoria_nombre"];
$miarray[$a]["productos"] = array();
array_push($miarray[$a]["productos"], array_chunk($productosArray, 4));
}
echo "<pre>";
print_r($miarray);
echo "<pre>";