Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/11/2011, 06:51
bbrian
 
Fecha de Ingreso: enero-2010
Mensajes: 400
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: Selects dependientes ajax

La cosa es asi:
Yo tengo creado un catalogo como este:
www.distrisurweb.com.ar/productos.php

Como verás realizo la busqueda con selects ya lo tengo todo echo y funciona perfecto mi problema ahora es que debo hacer que el select modelo sea dependiente del select marca.
Lo que hice yo es descargar algunos ejemplos de selects dependientes los pude modificar todo... El problema es que no se como integrarlo a mi formulario y como darle la funcion para que realice la busqueda como los demas selects. Queres que te deje mi codigo ? GRACIAS POR TU RESPUESTA

Código PHP:
<?php 
    $conexion 
mysql_connect('localhost''root'''); 
    
mysql_select_db('local'); 
    include(
'class.kpaginate.php') ; 
?> 
<form action="suspensionnorte.php" method="get" name="form1" class="Estilo1"> 
            <label> 
                <div align="center" class="Estilo7"> 
                    <table width="52%" border="0" cellspacing="0" cellpadding="0"> 
                        <tr> 
                            <td> 
                                <span class="Estilo16">C&oacute;digo</span><br> 
                                <input name="txtBusqueda" type="text" class="Estilo12" id="txtBusqueda" style="width:110px; height:18px" value="<?php echo @$_GET['txtBusqueda']?>"> 
                            </td> 
                            <td> 
                                <span class="Estilo16">Rubro<br></span> 
                                <select name="selRubro" class="Estilo12" id="selRubro" style="width:120px; height:18px"> 
                                    <option value="-1" selected>Todas</option> 
                                    <?php 
                                        $tablarubro 
mysql_query("SELECT * FROM rubro ORDER BY nombre ASC") or die(mysql_error()); // Seleccionamos las ciudades de la tabla ciudades 
                                        
while($registrorubro mysql_fetch_array($tablarubro)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla 
                                    
?> 
                                            <option value="<?php echo $registrorubro['id']; ?><?php echo (@$_GET['selLinea'] == $registrorubro['id'] ? 'selected' false)?>><?php echo $registrorubro['nombre']; ?></option> 
                                    <?php 
                                        
// termina la zona de repeticion 
                                        
mysql_free_result($tablarubro); // se libera la memoria usada por la tabla 
                                    
?> 
                                </select> 
                            </td> 
                            <td> 
                                <span class="Estilo16">Marca<br></span> 
                                <select name="selMarca" class="Estilo12" id="selMarca" style="width:120px; height:18px"> 
                                    <option value="-1" selected>Todas</option> 
                                    <?php 
                                        $tablamarca 
mysql_query("SELECT * FROM marca ORDER BY nombre ASC") or die(mysql_error()); // Seleccionamos las ciudades de la tabla ciudades 
                                        
while ($registromarca mysql_fetch_array($tablamarca)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla 
                                    
?> 
                                            <option value="<?php echo $registromarca['id']; ?><?php echo (@$_GET['selLinea'] == $registromarca['id'] ? 'selected' false)?>><?php echo $registromarca['nombre']; ?></option> 
                                    <?php 
                                        
// termina la zona de repeticion 
                                        
mysql_free_result($tablamarca); // se libera la memoria usada por la tabla 
                                    
?> 
                                </select></td> 
                            <td> 
                                <span class="Estilo16">Modelo<br></span> 
                                <select name="selModelo" class="Estilo12" style="width:120px; height:18px" id="selModelo"> 
                                    <option value="-1" selected>Todas</option> 
                                    <?php 
                                        $tablamodelo 
mysql_query("SELECT * FROM modelo ORDER BY nombre ASC") or die(mysql_error()); // Seleccionamos las ciudades de la tabla ciudades 
                                        
while ($registromodelo mysql_fetch_array($tablamodelo)) { // Vamos a repetir una Option (opcion), de la Lista Desplegable, por cada ciudad en la tabla 
                                    
?> 
                                            <option value="<?php echo $registromodelo['id']; ?><?php echo (@$_GET['selLinea'] == $registromodelo['id'] ? 'selected' false)?>><?php echo $registromodelo['nombre']; ?></option> 
                                    <?php 
                                        
// termina la zona de repeticion 
                                        
mysql_free_result($tablamodelo); // se libera la memoria usada por la tabla 
                                    
?> 
                                </select> 
                                <input name="cmdBuscar" type="submit" class="Estilo12" id="cmdBuscar" style="width:50px; height:18px" value="Buscar"> 
                                <input name="cmdBuscar2" type="reset" class="Estilo12" id="cmdBuscar2" style="width:50px; height:18px" value="Limpiar"> 
                            </td> 
                        </tr> 
                    </table> 
                </div> 
            </label> 
            <div align="center"></div> 
        </form> 

        <div align="center"> 
            <table width="52%" border="0" cellspacing="0" cellpadding="0"> 
                <tr> 
                    <td width="80%" valign="top"><table width="447" height="94" border="0" cellpadding="0" cellspacing="0"> 
                        <?php 
                            $condiciones 
"" 
                            if (isset(
$_GET['selRubro']) && $_GET['selRubro'] != -1) { 
                                
$condiciones .= " AND r.id = " $_GET['selRubro']; 
                            } 
                            if (isset(
$_GET['selMarca']) && $_GET['selMarca'] != -1) { 
                                
$condiciones .= " AND m.id = " $_GET['selMarca']; 
                            } 
                            if (isset(
$_GET['selModelo']) && $_GET['selModelo'] != -1) { 
                                
$condiciones .= " AND a.id = " $_GET['selModelo']; 
                            } 
                            if (isset(
$_GET['txtBusqueda'])) { 
                                
$condiciones .= " AND p.titulo LIKE '%" $_GET['txtBusqueda'] . "%'"
                            } 

                            
$sql_count "SELECT COUNT(*) FROM producto p "
                            
$sql_count .= "LEFT JOIN rubro r ON r.id = p.idrubro "
                            
$sql_count .= "LEFT JOIN marca m ON m.id = p.idmarca "
                            
$sql_count .= "LEFT JOIN marca a ON a.id = p.idmodelo "
                            
$sql_count .= "WHERE 1" $condiciones

                            
$count_result mysql_query($sql_count); 
                            
$total_productos mysql_result($count_result00) ; 

                            
$kpaginate = new kpaginate 
                            
$kpaginate->setTotalItems($total_productos) ; 
                            
$kpaginate->setItemsPerPage(4) ; 
                            
$limit $kpaginate->getLimit() ; 

                            
$sql "SELECT * FROM producto p "
                            
$sql .= "LEFT JOIN rubro r ON r.id = p.idrubro "
                            
$sql .= "LEFT JOIN marca m ON m.id = p.idmarca "
                            
$sql .= "LEFT JOIN modelo a ON a.id = p.idmodelo "
                            
$sql .= "WHERE 1" $condiciones 
                            
$sql .= " ORDER BY p.id DESC LIMIT " current($limit) . ", " end($limit) ; 

                            
$tabla mysql_query($sql) or die(mysql_error()); 
                            if (
mysql_num_rows($tabla) > 0) { 
                                while (
$registro mysql_fetch_array($tabla)) { 
                                    
?> 
                                    <tr> 
                                        <?php echo $registro['titulo']; ?><br> 
                                       <?php echo $registro['descripcion']; ?>
                                       <?php echo $registro['precio']; ?> 
                                    </tr> 
                                    <?php 
                                

                                
$kpaginate->paginate() ; 
                            } else { 
                                echo 
"No se encontraron resultados"
                            } 
                            
mysql_free_result($tabla); 
                            
mysql_close($conexion); 
                        
?>