PHP - Combo Dinamico

 
Vista:

Combo Dinamico

Publicado por Pablo Pinedo (5 intervenciones) el 02/03/2016 20:14:44
Buenas Tardes

Señores mi mas calido saludo, soy un principante en el tema de PHP y el motivo de mi consulta es el siguiente:
tengo 1 text y dos combo( <SELECT>) estoy tratando de que al insertar el valor en el text y uno de los combos, el segundo combo se llene automaticamente con el calor que viene desde una Base de Datos.
espero haberme podido explicar.
Estuve revisando unos ejemplos en la web, y estoy tratando de amoldar este, pero si exisitiera una manera mucho mas sencilla se los agradecere me puedan ayudar ya tengo 24 horas aqui.
Les paso los codigos con los nombres de los archivos que estoy utilizando.

Index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
session_start();
if (isset($_SESSION['tUsuario'])){
	$usuario=$_SESSION['tUsuario'];
}else{echo 'Variable no declarada';
	  return;
};
?>
<head>
   <meta charset='utf-8'>
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <!--<meta name="viewport" content="width=device-width, initial-scale=1">-->
   <link rel="stylesheet" href="../../Css/styles.css">
   <link rel="stylesheet" type="text/css" href="../../Css/SisBosco.css">
   <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
   <script src="../Js/script.js"></script>
   <script src="../Js/procesaalumnos.js"></script>
 
</head>
<body>
    <div id="cabecera"></div>
 
    </div>
    <div id="Contenido">
        <form method="GET" action="#" id="tardanza" name="tardanza">
        <table border="0px" cellpading="40px">
            <tr>
                <td class="letdatblanca">
                   Fecha de Tardanza :
                </td>
                <td class="letdatblanca">
                    <input type="date" name="txtfecha">
                </td>
                <td class="letdatblanca">
                   Hora de Ingreso :
                </td>
                <td class="letdatblanca">
                    <input type="time" name="txttiempo">
                </td>
            </tr>
            <tr>
                <td class="letdatblanca">
                    Año :
                </td>
                <td class="letdatblanca">
                    <input type="text" name="txtgrado">
                </td>
                <td class="letdatblanca">
                    Sección :
                </td>
                <td class="letdatblanca">
                    <table>
                        <tr>
                            <td>
                            <select name="optseccion">
                                <option value=""></option>
                                <option value="P">Primaria</option>
                                <option value="S">Secuendaria</option>
                            </select>
                            </td>
                            <td>
                                <input type="button" value="Seleccionar">
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
                <td colspan="1" class="letdatblanca">Alumno :</td>
                    <td colspan="3" class="letdatblanca">
                        <div id="selectcombinado">
                            <select style="width: 470px" disabled="disabled">
                                <option value=""></option>
                            </select>
                        </div>
                    </td>
            </tr>
            <tr>
                <td colspan="4" class="letdatblanca">Observacion :</td>
            </tr>
            <tr>
                <td colspan="4" class="letdatblanca">
                    <textarea name="edtobservacion" cols="93px" rows="5"></textarea>
                </td>
            </tr>
            <tr>
                <td>
                    <input type="submit" value="Guardar Tardanza">
                </td>
            </tr>
 
        </table>
        </form>
        <table border="1px">
            <tr>
                <td class="letdatblanca">Fecha</td>
                <td class="letdatblanca">Hora de Ingreso</td>
                <td class="letdatblanca">A&ntilde;o</td>
                <td class="letdatblanca">Secci&oacute;n</td>
                <td class="letdatblanca">Alumno</td>
            </tr>
        </table>
    </div>
</body>



ProcesaAlumnos.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
//por Abrahan Apaza
include("internet.php");
 
function getalumno() {
  global $link, $grado, $seccion;
  $grado = $_POST['txtgrado'];
  $seccion = $_POST['optseccion'];
  $query = "datalumno '".$grado."','".$seccion."'";
  /*mysql_query('SET NAMES 'utf8 '');*/
  $result = mysql_query($query, $link);
  $resp = "<option value=''>-Seleccione Provincia-</option>";
  while ($value = mysql_fetch_object($result)) {
    $resp .= "<option value='".$value[idalumno]."'>".$value[datalumnos]."</option>";
  }
  echo $resp;
}
 
if ($_POST) {
  switch ($_POST["task"]) {
    case "getoptseccion":
      getoptseccion();
      break;
  }
}
?>



procesaalumnos.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$(function() {
  $("#grado,#seccion").attr('disabled', true);
 
  function ejecutar(obj1, obj2, task) {
    $('<img/>', {
      'class': 'loading',
      src: 'loading.gif',
      'style': 'display:inline'
    }).insertAfter(obj1);
 
    $.ajax({
      type: "POST",
      url: "../Php/ProcesaAlumnos.php",
      dataType: "html",
      data: "task=" + task + "&amp;id=" + $(obj1).val(),
      success: function(msg) {
        $(obj1).next('img').remove();
        $(obj2).html(msg).attr("disabled", false);
      },
      error: function(jqXHR, textStatus, errorThrown) {
        $(obg1).next('img').remove();
        alert("Error al ejecutar =&gt; " + textStatus + " - " + errorThrown);
      }
    });
  }
 
  $("#txtgrado").change(function(e) {
    $("#txtgrado,#optseccion").attr('disabled', true);
    if ($(this).val().trim() != "") {
      ejecutar($(this), $("#txtgrado"), "gettxtgrado");
    }
  });
  $("#optseccion").change(function(e) {
    $("#txtgrado").attr('disabled', true);
    if ($(this).val().trim() != "") {
      ejecutar($(this), $("#optseccion"), "getoptseccion");
    }
  });
});
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Combo Dinamico

Publicado por Ghensys (12 intervenciones) el 04/03/2016 16:58:18
Hola Pablo, creo que lo que necesitas es usar una funcion de js que se llama ajax, esta hace hace actualizaciones a la pagina sin necesidad de recargarla, es decir, puede hacer que al tomar una opcion del select este actualice y haga una consulta en la bd y te muestre el resultado en el otro, te recomiendo esta pagina http://www.formatoweb.com.ar/ajax/ a mi me fue util, espero que el ejemplo de select dependientes sea lo que necesites
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar