Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/02/2013, 15:42
jm2008
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 15 años, 5 meses
Puntos: 0
Pregunta relacionar mysql con 3 combobox

buenas, lei un articulo en aqui donde relacionaban 2 o mas combos y msql en esta direccion [URL="http://www.forosdelweb.com/f18/combobox-dinamicos-php-2-mas-combos-anidados-575482/"][/URL] http://www.forosdelweb.com/f18/combobox-dinamicos-php-2-mas-combos-anidados-575482/ lo probe y funciona, lo que estoy intentando hacer es modificar el codigo para un trabajo, en el ejemplo todos los combos deben tener datos, en mi caso uno de los combos puede no tener datos y seguir funcionando. Las tablas con las que trabajo son:
Tabla categorias
id_cat
nom_cat

Tabla subcategorias
id_subcat
id_cat
nom_subcat

Tabla productos
id_prod
id_cat
id_subcat
nom_prod

Lo que necesito es que al seleccionar una categoria esta puede o no tener una subcategoria si tiene la misma que muestre el producto (categoria - subcategoria y producto) y si no la tiene que directamente me muestre el producto (categoria - producto). A continuacion adjunto el codigo, espero puedan ayudarme.


Código PHP:
Ver original
  1. <?php include("mysql.php");
  2.  
  3. $db = new MySQL();
  4. //$consulta_pais = $db->consulta("SELECT * FROM categorias");  
  5. $consulta_categoria = $db->consulta("SELECT * FROM categorias");  
  6. echo '<html>';
  7. echo '<form method="post" action="combobox2.php">';
  8.  
  9. //$pais=$_POST['pais'];
  10. $nom_cat=$_POST['nom_cat'];
  11. //$departamentos=$_POST['departamentos'];
  12. $nom_subcat1=$_POST['nom_subcat1'];
  13. //$distrito=$_POST['distrito'];
  14. $nom_prod=$_POST['nom_prod'];
  15.            
  16. echo '<select name="nom_cat"   onChange="submit()" style="position:absolute;left:14px;top:5px;width:186px;font-family:Times New Roman;font-size:16px;z-index:0">';
  17. if ($db->num_rows($consulta_categoria)>0){
  18. echo "<option value= '$nom_cat'>".$nom_cat.'</option>';
  19. while ($resultado=$db->fetch_array($consulta_categoria)){ echo '<option value= "'.$resultado['nom_cat'].'">'.$resultado['nom_cat'].'</option>';
  20. }
  21. }
  22.  
  23. echo '</select>';
  24. echo '<br>';
  25.                                
  26. $consulta_cod_categoria = $db->consulta("SELECT id_cat FROM categorias WHERE nom_cat='$nom_cat'");
  27. $resultado_cod_categoria=$db->fetch_array($consulta_cod_categoria);
  28. $cod_categoria=$resultado_cod_categoria['id_cat'];
  29. $consulta_subcategoria = $db->consulta("SELECT * FROM subcategorias where id_cat='$cod_categoria'");
  30.  
  31. echo '<select name="nom_subcat1"   onChange="submit()" style="position:absolute;left:14px;top:35px;width:186px;font-family:Times New Roman;font-size:16px;z-index:1">';
  32. if ($db->num_rows($consulta_subcategoria)>0){
  33.    
  34. echo "<option value= '$nom_subcat1'>".$nom_subcat1.'</option>';
  35. echo "<script type=\"text/javascript\">alert(\"consulta subcat: $nom_subcat1\");</script>";
  36. while ($resultado=$db->fetch_array($consulta_subcategoria)){ echo '<option value= "'.$resultado['nom_subcat'].'">'.$resultado['nom_subcat'].'</option>';
  37. }
  38. }else{
  39. //if ($db->num_rows($consulta_subcategoria)==0){
  40. echo "<option value= '$sd'>Sin Datos</option>";
  41. //while ($resultado=$db->fetch_array($consulta_subcategoria)){ echo '<option value= "'.$resultado['sd'].'">'.$sd.'</option>';
  42. //}echo $resultado['sd']; echo $sd;
  43. }
  44.  
  45. echo '</select>';
  46. echo '<br>';
  47. if ($sd="Sin Datos"){
  48. $consulta_cod_nom_prod = $db->consulta("SELECT id_cat FROM categorias WHERE nom_cat='$nom_cat'");
  49. $resultado_cod_nom_prod=$db->fetch_array($consulta_cod_nom_prod);
  50. $cod_nom_prod=$resultado_cod_nom_prod['id_cat'];
  51. $consulta_nom_prod = $db->consulta("SELECT * FROM productos where id_cat='$cod_nom_prod'");
  52. }else{
  53. $consulta_cod_nom_subcat = $db->consulta("SELECT id_subcat FROM subcategorias WHERE nom_subcat='$nom_subcat1'");
  54. $resultado_cod_nom_subcat=$db->fetch_array($consulta_cod_nom_subcat);
  55. $cod_nom_subcat=$resultado_cod_nom_subcat['id_subcat'];
  56. $consulta_nom_prod = $db->consulta("SELECT * FROM productos where id_subcat='$cod_nom_subcat'");
  57. }
  58.  
  59. echo '<select name="nom_prod" onChange="submit()"style="position:absolute;left:14px;top:65px;width:186px;font-family:Times New Roman;font-size:16px;z-index:2">';
  60. if ($db->num_rows($consulta_nom_prod)>0){
  61. echo "<option value= '$nom_prod'>".$nom_prod.'</option>';
  62. while ($resultado=$db->fetch_array($consulta_nom_prod)){ echo '<option value= "'.$resultado['nom_prod'].'">'.$resultado['nom_prod'].'</option>';
  63. }
  64. }else{
  65.  
  66. //if ($db->num_rows($consulta_nom_prod)==0){
  67. echo "<option value= '$sd'>Sin Datos</option>";
  68. //while ($resultado=$db->fetch_array($consulta_subcategoria)){ echo '<option value= "'.$resultado['sd'].'">'.$sd.'</option>';
  69. //}echo $resultado['sd']; echo $sd;
  70. }
  71.  
  72. echo '</select>';
  73.        
  74. echo '</html>';
  75. echo '</form>';
  76. ?>