Ir para conteúdo
Fórum Script Brasil
  • 0

Popular combobox após selecionar datas


denilson.developer

Pergunta

e ai galera tudo certo?

Estou tentado povoar um Combobox depois de preencher o campo data, filtrando pela data selecionada, mas não está me retornando nada. Poderiam me ajudar.

<form enctype="multipart/form-data" action="relatorio.php" method="POST" name="formulario" id="formulario">
      <div class="col-md-6 form-group has-feedback">Data Inicial:
        <input type="date" class="form-control" name="data1" placeholder="Data 1">
      </div>
      <div class="col-md-6 form-group has-feedback">Data Final:
        <input type="date" class="form-control" name="data2" placeholder="Data 2" onchange="buscar_info();">
      </div>      
      <div class="form control col-md-6">Selecione o Local:<BR>
        <select name="local" id="local"> <!--Filtro Local -->
          //Carregar os dados
        </select>
      </div>
       <div class="col-md-6 form-group ">        
        <div class="col-xs-4">
          <button type="submit" class="btn btn-danger" style="text-transform:uppercase" value="gravar"> Filtrar</button>
        </div>
      </div>
    </form>
  
  <script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("jquery", "1.4.2");</script>
<script type="text/javascript">
function buscar_info(){
  var data1 = $('#data1').val();
  var data2 = $('#data2').val();
    if (data2) {
      var url = 'buscar_re.php?dt1=' + encodeURIComponent(data1)+ '&dt2='+ encodeURIComponent(data2);
      $.get(url, function(data){
        try {
          var j = data;
          if (j.length == 0) {
            throw "birl";
          }
          $('#id').val(j.id);
          $('#nomecol').val(j.RG);         
        } catch(err) {
          alert('Campo não ENCONTRADO!');          
        }
      });
    }
  }
</script>

Buscar os Dados:

<?php
header("Content-Type: text/html; charset=UTF-8",true) ;
setlocale(LC_ALL, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set("America/Sao_Paulo");

include("../config.php");

$data1 = $_POST['data1'];
$data2 = $_POST['data2'];

$sql = "select numeroquarto from tb_acopaciente where liberado between '".$data1."' and '".$data2."'";
$res = $mysqli->query($sql) or die(mysqli_error());
$resposta = array();

while ($row = @mysqli_fetch_array($res)) {
	$resposta['id'] = utf8_encode($row['id']);
	$resposta['numeroquarto'] =  utf8_encode($row['numeroquarto']);	
}

echo json_encode($resposta);

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Primeiro muda isso aqui pra resposta ficar correta

<?php
//...

while ($row = @mysqli_fetch_array($res)) {
	$resposta[] = [
      'id' => utf8_encode($row['id']),
      'numeroquarto' => utf8_encode($row['numeroquarto']),
    ];
}

//...

Depois muda isso aqui pra poder popular os dados:

<!-- ... -->
<script type="text/javascript">
function buscar_info(){
  //...
      $.get(url, function(data){
        try {
          if (data.length == 0) {
            throw "birl";
          }
          $.each( data, function( id, numeroquarto ) {
            $('#local').append($('<option>', { 
                value: id,
                text : numeroquarto 
            }));
          });
        } catch(err) {
          alert('Campo não ENCONTRADO!');          
        }
      });
  //...
  }
</script>

 

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado por sua resposta amigo. Ajustei conforme me passou, mas ele não está mostrando as colunas retornadas do BD, mas sim a quantidade de linhas retornadas na consulta SQL (rows returned).

//...
$.each( data, function( id, numeroquarto ) {
	$('#local').append($('<option>', { 
    	value: id,
        text : numeroquarto 
     }));
});
      
//...

 

Editado por denilson.developer
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...