Select Group with PHP

1

I'm trying to feed a select group with bank data, but it's not working. Can anyone see the error?

    <div class="form-group">
       <select class="" name="agencia" tabindex="-1"  style="height: 30px;" required="">
          <option value="">Selecione sua Agência...</option> 
          <?php
          $pdo = Conexao::getInstance();

            $consulta2 = $pdo->prepare("SELECT DISTINCT(estado_agencia) FROM agencia");            
              if($consulta2->execute()){
                if($consulta2->rowCount() > 0){
                  while($data = $consulta2->fetch(PDO::FETCH_OBJ)){
                    $estado_agencia= $data->estado_agencia;
                    echo '<optgroup label="'.$estado_agencia.'">';
                    $consulta3 = $pdo->prepare("SELECT id_agencia, descricao_agencia FROM agencia WHERE estado_agencia=:estado GROUP BY estado_agencia");
                    $consulta3->bindParam(':estado',$estado_agencia, PDO::PARAM_STR);


                    while($data2 = $consulta3->fetch(PDO::FETCH_OBJ)){
                      $id_agencia = $data2->id_agencia;
                      $descricao_agencia= $data2->descricao_agencia;
                      echo '<option value="'.$id_agencia.'">'.$descricao_agencia.'>';
                      echo '</option>';
                    }
                    echo '</optgroup>';
                  }
                }
              }
          ?>
    </select>
  </div>
    
asked by anonymous 31.10.2017 / 13:26

1 answer

0

Good morning @Isadora Almeida
I put here the way you did and I really could not do fill the combo. Home Unfortunately I can not tell you why your code does not work. Home That way you did I did not know ... here I did the way I usually do :)

<body>

<div class="form-group">
    <select class="" name="agencia" tabindex="-1"  style="height: 30px;" required="" id="alimentos">                        
     <?php
         $resultado = mysql_query("SELECT estado_agencia FROM agencia group by estado_agencia");                    
         echo(' <option value="">Selecione sua Agência...</option>');                     
         echo('<optgroup>');
         while ($dados = mysql_fetch_array($resultado)) 
         {
            $estado = $dados['estado_agencia'];
            echo("<optgroup label=$estado> ");

            $resultado2 = mysql_query("SELECT * FROM agencia where (estado_agencia = '". $estado."')");                        

            while ($dados2 = mysql_fetch_array($resultado2)) 
            {
               $id_agencia = $dados2['id_agencia'];                                    
               $descricao_agencia = $dados2['descricao_agencia'];
               echo ("<option value=$id_agencia>$descricao_agencia</option>");
             }

        echo '</optgroup>';                           
        }
    ?>
    </select>
</div>      
</body>

Edited with 2 sqls.
It worked cool ... filled the combo correctly. I hope it has helped in some way:)

    
31.10.2017 / 15:07