Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/08/2016, 15:05
Avatar de ccessaro
ccessaro
 
Fecha de Ingreso: noviembre-2008
Mensajes: 11
Antigüedad: 15 años, 5 meses
Puntos: 0
Mensaje como creo un filtro para mi tienda tipo menu

Buenas tardes!
soy novato y tengo una tienda para vender varios articulos y funciona bien hasta envio el formulario de venta pero quiero hacer un filtro mostrar como un menu vertical, las tablas son 2 articulos y subcat y estan diseñadas asi:

TABLA ARTICULOS
--
-- Estructura de tabla para la tabla `articulo`
--

Código:
CREATE TABLE `articulo` (
  `id_articulo` int(11) NOT NULL auto_increment,
  `referencia` char(20) character set utf8 collate utf8_spanish_ci default NULL,
  `nombre` varchar(60) character set utf8 collate utf8_spanish_ci default NULL,
  `precio` float default NULL,
  `promo` float default NULL,
  `cuanto_hay` varchar(30) character set utf8 collate utf8_spanish_ci default NULL,
  `imagen` varchar(255) character set utf8 collate utf8_spanish_ci default 'productos/no_photo.jpg',
  `id_subcat` int(11) default NULL,
  `categoria` varchar(50) default NULL,
  `descripcion` text character set utf8 collate utf8_spanish_ci NOT NULL,
  `fecha` datetime NOT NULL default '2016-01-01 00:00:00',
  `restringido` char(2) character set utf8 collate utf8_spanish_ci default NULL,
  PRIMARY KEY  (`id_articulo`),
  UNIQUE KEY `articulo_idx` (`referencia`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=25 ;

-- 
-- Volcar la base de datos para la tabla `articulo`
-- 

INSERT INTO `articulo` VALUES (1, 'MP365', 'PELUCA AFRO DOS COLORES', 5200, 0, '461', 'MP365', 8, 'HALLOWEEN', '', '0000-00-00 00:00:00', NULL);
INSERT INTO `articulo` VALUES (2, 'PA-030', 'PELUCA RUBIA CORTA', 4500, 0, '122', 'PA-030', 8, 'HALLOWEEN', '', '0000-00-00 00:00:00', NULL);
INSERT INTO `articulo` VALUES (3, 'QISE25', 'PELUCA FRITO', 2500, 0, '53', 'QISE25', 8, 'HALLOWEEN', '', '0000-00-00 00:00:00', NULL);
INSERT INTO `articulo` VALUES (4, 'QISE-28', 'PELUCA PAYASO NIÑO', 3900, 0, '75', 'QISE-28', 8, 'HALLOWEEN', '', '0000-00-00 00:00:00', NULL);
TABLA SUBCAT

Código:
-- 
-- Estructura de tabla para la tabla `subcat`
-- 

CREATE TABLE `subcat` (
  `id_subcat` int(11) NOT NULL auto_increment,
  `nombre` varchar(60) default NULL,
  PRIMARY KEY  (`id_subcat`),
  UNIQUE KEY `subcat_udx` (`nombre`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;

-- 
-- Volcar la base de datos para la tabla `subcat`
-- 

INSERT INTO `subcat` VALUES (1, 'ACCESORIOS');
INSERT INTO `subcat` VALUES (2, 'ANTIFAZ');
INSERT INTO `subcat` VALUES (3, 'DIADEMAS');
INSERT INTO `subcat` VALUES (4, 'DISFRAZ');
INSERT INTO `subcat` VALUES (5, 'GAFAS');
INSERT INTO `subcat` VALUES (6, 'GORROS');
INSERT INTO `subcat` VALUES (7, 'MASCARAS');
INSERT INTO `subcat` VALUES (8, 'PELUCAS');
Lo que busco es hacer un filtro entre estas 2 tablas y me muestre las 5 categorias y debajo de cata categoria, las subcategorias, pero no las quiero en un combox.

este es mi codigo PHP
Código PHP:
                                        //Limitamos la busqueda con el numero de registros a mostrar.
                        
$_pagi_cuantos 12;
                    
                        
//Numero de paginas a mostrar en el panel de navegacion.
                        
$_pagi_nav_num_enlaces 10;

                        if(!empty(
$_REQUEST[filtro]))
                        {
                            
$_SESSION[where_search] = "categoria = '".$_REQUEST[filtro]."' ";
                        }

                        if(!empty(
$_REQUEST[filtro_c]))
                        {
                            
$_SESSION[where_search] = "id_subcat = '".$_REQUEST[filtro_c]."' ";
                        }

                        
// chequea si el listado trae parametros de consultas.
                        
empty($_SESSION[where_search]) ? $where "$nombre" $where $_SESSION[where_search];

 
                
$consulta=mysql_query("select * from articulo ORDER BY nombre",$conexion);
                    if (isset(
$_POST['buscar'])){
                        
$consulta=mysql_query("select * from subcat where nombre like '%".$_POST['buscar']."%'");
                    }
                    
                    
$nro_reg=mysql_num_rows($consulta);
                    
                    if (
$nro_reg==0){
                        echo 
'No se ha encontrado ningun Articulo';
                    }
                    
                    
$reg_por_pagina=12;
                    
                    
//@$nro_pagina=$_GET['num']; 
                    
                    
if (isset($_GET['num'])){
                        
$nro_pagina=$_GET['num'];
                    }else{
                        
$nro_pagina=1;
                    }
                    
                    if (
is_numeric($nro_pagina))
                        
$inicio=($nro_pagina-1)*$reg_por_pagina;
                        else
                        
$inicio=0;
                        
                    
$consulta=mysql_query("SELECT * FROM articulo ORDER BY nombre LIMIT $inicio,$reg_por_pagina",$conexion);
                    
$can_paginas=ceil($nro_reg/$reg_por_pagina);

                    
                    while(
$filas=mysql_fetch_array($consulta)){
                        
$id_articulo=$filas['id_articulo'];
                        
$imagen=$filas['imagen'];
                        
$referencia=$filas['referencia'];
                        
$nombre=$filas['nombre'];
                        
$precio=$filas['precio'];
                        
$cantidad=$filas['cantidad'];
                        
$categoria=$filas['categoria'];
            
                
?>