PHP - Integrar el valor de un input en una consulta sin usar boton

 
Vista:
sin imagen de perfil

Integrar el valor de un input en una consulta sin usar boton

Publicado por javier (1 intervención) el 06/11/2022 20:24:13
Q tal!!

Busco hacer una consulta a mysql donde el valor condicional sea lo que el usuario escribio en un input, la idea es muy conocida

Cunado el usuario escriba el CP en el input, en un selec las colonias q correspondan a ese cp y posterior a esto en otro selec solo muestre los municipios que correspondan a la colonia seleccionada

Hasta ahora tengo la consulta general pero no tengo como jalar el CP q escribe el usuario e integrarlo a la consulta select y q esta se ejecute posterior al momento q el usuario alla tecleado ese dato

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
<div class="form-group col-xl-3 col-lg-3 col-md-4 col-sm-12">
         <label for="">Código postal</label>
         <input type="text" class="form-control form-control-sm" name="CP" id="CP" aria-describedby="helpId">
</div>
<div class="form-group col-xl-6 col-lg-6 col-md-8 col-sm-12">
           <label for="">Colonia</label>
           <select name="colonia" id="colonia" class="form-control form-control-sm">
            <?php
 
                  $sql="SELECT * FROM codigosp WHERE Codigo = 'CP'";
                  $query=mysqli_query($con,$sql);
 
                  while($row = mysqli_fetch_assoc($query)){
                          $Colonia = $row['Asentamiento'];
                   ?>
                          <option value="<?php echo $Colonia ?>"><?php echo $Colonia ?></option>
                   <?php
                   }
            ?>
            </select>
</div>
<div class="form-group col-xl-6 col-lg-6 col-md-12 col-sm-12">
            <label for="">Localidad</label>
             <select name="localidad" id="localidad"class="form-control form-control-sm">
               <?php
 
                $sql="SELECT * FROM codigosp WHERE Codigo = 'CP' and Asentamiento ='colonia'";
                $query=mysqli_query($con,$sql);
 
                 while($row = mysqli_fetch_assoc($query)){
                        $Municipio = $row['Municipio'];
                 ?>
                        <option value="<?php echo $Municipio ?>"><?php echo $Municipio ?></option>
                 <?php
                  }
                 ?>
                 </select>
</div>

Gracias por su ayuda
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

Integrar el valor de un input en una consulta sin usar boton

Publicado por Yamil Bracho (22 intervenciones) el 06/11/2022 21:06:56
Tendrias que usar un evento dentrol del textfield para disparar la busqueda. Puede ser OnChange (Se dispara cuando el contenido del textbox cambia) o OnBlur (Se dispara cuando se pierde el foco del textBox). En cualquier caso para tener dicha interactividad deberias usar javascript y particularmente AJAX para tomar el input y refrescar el contenido de SELECT de acuerdo a la busqueda en la BD
Ahora. tu busqueda en la BD deberia ser bien rapida, seria tener un indice por el campo que quieres filtrar o hasta un store proc. o tener la informacion filtrada en una cache o algo asi.
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