esto pasa por estar adaptando un codigo.
la idea principal es la siguiente.
llenar un primer select option (Categoría) con una base de datos.
y dependiendo de la selección anterior generar otro select option (Subcategoria) adicional para escoger también.
Método utilizado:
mediante PHP (una funcion) lleno el primer select, luego mediante mediante una segunda función lleno el segundo.
PERO ojo utiliso jQuery Para cargar por ajax las subcategorias indicadas.
si alguien tiene una alternativa o puede ayudarme les agradeceria.
les dejo el codigo:
Codigo index
Código PHP:
Ver original
<?php function categoria($valor){ $dblink=conexion(); $consulta = mysqli_query($dblink,"SELECT idTcategoria,tcatname FROM t_categoria ORDER BY idTcategoria ASC") or error($dblink); echo '<option value= "'.$row["idTcategoria"].'"'; if ($row["idTcategoria"]==$valor) echo ' selected'; echo '>'.$row["tcatname"].'</option>'; } } function subcate($valor){ $dblink=conexion(); $consulta = mysqli_query($dblink,"SELECT idTsubcategoria,tsubcatname FROM t_subcategoria ORDER BY idTsubcategoria ASC") or error($dblink); echo '<option value= "'.$row["idTsubcategoria"].'"'; if ($row["idTsubcategoria"]==$valor) echo ' selected'; echo '>'.$row["tsubcatname"].'</option>'; } } <!doctype html> <html> <head> <meta charset="utf-8"> <script src="setup/jquery.js"></script> <script src="setup/execute.js"></script> </head> <body> <table width="400" border="0"> <tr> <td>Categoria</td> <td> <select id="cat" name="cat" required> <option value="">Escoja...</option> <?php categoria("1"); ?> </select> </td> </tr> <tr> <td>Sub-Categoria</td> <td> <select id="subcat" name="subcat" required> <option value="">Escoja...</option> <?php subcate("2"); ?> </select> </td> </tr> </table>
Execute.js
Código Javascript:
Ver original
$(document).ready(function() { /* COMBOBOX */ $("#cat").change(function(event) { var cat = $(this).find(':selected').val(); $("#psubcat").html("<img src='loading.gif' />"); $("#psubcat").load('buscar.php?buscar=subcat&cat='+cat); var subcat = $("#subcat").find(':selected').val(); }); });
Buscar.php
Código PHP:
Ver original
<?php $dblink=conexion(); if ($_GET[buscar]=="subcat") { $consulta = mysqli_query($dblink,"SELECT idTsubcategoria,tsubcatname FROM t_subcategoria WHERE idTcategoria='".mysql_real_escape_string(intval($_GET["cat"]))."' ORDER BY idTsubcategoria ASC") or error($dblink); // Comienzo a imprimir el select echo '<select id= "subcat" name="subcat" required>'; echo '<option value="">Escoja...</option>'; echo '<option value= "'.$row["idTsubcategoria"].'"'; if ($row["idTsubcategoria"]==$valor) echo ' selected'; echo '>'.$row["tsubcatname"].'</option>'; } echo '</select>'; } ?>
El problema:
me carga el primer combo box, bien
el segundo me carga pero me muestra todas los campos guardados en la tabla subcategoria. no esta funcionando el filtro por ajax y php
Gracias a todos por su cooperación.