mostrar consulta de mysql con checkbox php javascript

publicado por: Anonymous

Buenas tardes tengo un codigo en php donde una lista tiene valores de un campo de mysql:

<div class="input-group">
     <span class="input-group-addon">Ruta: </span>
      <select name="rutas" id="estados" value="0" class="form-control" onchange="showUser(this.value)">
        <?php
          while ($fil = mysqli_fetch_array($resultas)){  ?>

            <option value="<?php echo $fil['id']; ?>"><?php echo $fil['descripcion']; ?></option>

          <?php 
        } ?>
        </select>
      <span class="input-group-btn">
      <a href="rutas/nuevaRuta.php" class="btn btn-success" role="button"><span class="glyphicon glyphicon-plus-sign"></span></a>
  </span>
  </div>

Donde los datos salen de la siguiente consulta:

 $resultas = mysqli_query($link, "SELECT * FROM rutas WHERE (cveorig='$claveEstado' OR cvedest='$claveEstado') AND cliente='CLI140002'");

lo que necesito es hacer una consulta general (mostrar todos los registros del campo descripción) al dar click en un checkbox

solución

Si entiendo bien tu problema es que no sabes como actualizar la consulta sql al activar el checkbox, si es así, te recomiendo usar JS o Jquery y cargar los datos de forma asíncrona, es decir, en lugar de esto:

<select name="rutas" id="estados" value="0" class="form-control" onchange="showUser(this.value)">
    <?php
      while ($fil = mysqli_fetch_array($resultas)){  ?>
        <option value="<?php echo $fil['id']; ?>"><?php echo $fil['descripcion']; ?></option>
      <?php 
    } ?>
</select>

Intenta cargar por ejemplo con jquery:

$('#id_checkbox').change(function () {
  $.post(url_backend, params)
   .done(function (data) {
     //recorrer el resultado, recomendado retornar json desde el server
     $.each(data, function(i, item) {
       $('#estados').append($('<option>', {
         value: item.value,
         text: item.text
       }));
     });
   });
}

Y repite esto cuando carga el dom para cargar la primera consulta del select.

Edit: Recuerda resetear el select porque el append agrega el elemento al final del contenido del select.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *