Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Problema com funcao para mostrar freguesias

$
0
0
Boas tenho isto em HTML/PHP:
Código (PHP):
<option value=' '>Selecione o Distrito</option>
         <?php
         $sql="SELECT * FROM distritos ORDER BY nome";
         $prod_dest=mysqli_query($ligaBD,$sql);
         $num_registos=mysqli_num_rows($prod_dest);
         for($i=0;$i<$num_registos;$i++){
         $dados=mysqli_fetch_array($prod_dest);
         echo '<option value="'.$dados["id"].'">'.utf8_encode($dados["nome"]).'</option>';
         }
         ?>
         </select>
         <h5 style="margin-top:5px;margin-bottom:5px;"><small>Concelho</small></h5>
         <select style="margin:0px;" class="form-control" name="concelho" id="concelho_select" onchange='listar_freguesia()'>
         <option value=''>Selecione o Concelho</option>
         </select>
         <h5 style="margin-top:5px;margin-bottom:5px;"><small>Freguesia</small></h5>
         <select style="margin:0px;" class="form-control" name="freguesia" id="freguesia_select">
         <option value=''>Selecione a Freguesia</option>
         </select>

E isto em javascript:
Para o concelho tenho isto (funciona)

Citar

Código (PHP):
<!-- LISTAR CONCELHO -->
<script type="text/javascript">
function listar_concelho() {

<?php
echo 'var codigo=document.getElementById("distrito_select").value; alert(codigo);';
$procurar_distrito="SELECT * FROM distritos";
$faz_pesq_distrito=mysqli_query($ligaBD ,$procurar_distrito);
$num_distrito=mysqli_num_rows($faz_pesq_distrito);
$value=' ';
echo 'switch (codigo){';
for($i=0;$i<$num_distrito;$i++){
$distrito=mysqli_fetch_array($faz_pesq_distrito);
echo 'case "'.$distrito["id"].'":';
/*echo '$("#concelho_select").html("");
         var strToAdd ="<option value=" ">Selecione um Concelho</option>";
         $("#concelho_select").append(strToAdd);';*/
         $procurar_concelho="SELECT * FROM concelhos where id_distrito='".$distrito["id"]."'";
         $faz_pesq_concelho=mysqli_query($ligaBD ,$procurar_concelho);
         $num_concelho=mysqli_num_rows($faz_pesq_concelho);
         for($a=0;$a<$num_concelho;$a++){
         $concelho=mysqli_fetch_array($faz_pesq_concelho);
         echo 'var strToAdd'.$a.' ="<option value='.$concelho["id"].'>'.utf8_encode($concelho["nome"]).'</option>";';
         echo '$("#concelho_select").append(strToAdd'.$a.');';
         }     
echo 'break;';
}

/*echo 'default:
$("#concelho_select").html("");
var strToAdd ="<option value=" " >Selecione um Distrito</option>";
$("#concelho_select").append(strToAdd);
break;';*/
echo '}';
?>
}
</script>

E a das Freguesias:
Código (PHP):
<!-- LISTAR CONCELHO -->
<script type="text/javascript">
function listar_freguesia() {

<?php
echo 'var codigo1=$("#concelho_select").val(); alert(codigo1);';
$procurar_concelho="SELECT * FROM concelhos";
$faz_pesq_concelho=mysqli_query($ligaBD ,$procurar_concelho);
$num_concelhos=mysqli_num_rows($faz_pesq_concelho);
echo 'switch (codigo1){';
for($q=0;$q<$num_concelhos;$q++){
                         $concelho=mysqli_fetch_array($faz_pesq_concelho);
echo 'case "'.$concelho["id"].'":';
         $procurar_freguesia="SELECT * FROM freguesias where id_concelho='".$concelho["id"]."'";
         $faz_pesq_freguesia=mysqli_query($ligaBD ,$procurar_freguesia);
         $num_freguesia=mysqli_num_rows($faz_pesq_freguesia);
         for($x=0;$x<$num_freguesia;$x++){
                 $freguesia=mysqli_fetch_array($faz_pesq_freguesia);
         echo 'var strToAdd'.$a.' ="<option value='.$freguesia["id"].'>'.$freguesia["nome"].'</option>";';
         echo '$("#test").append(strToAdd'.$a.');';
         }
echo 'break;';
}
echo '}';
?>
}
</script>

A última não funciona e dá me este erro "Uncaught ReferenceError: listar_freguesia is not defined", já andei aqui de volta de isto e nada, será que me podem ajudar? A função é quase copy paste da outra de cima e não percebo pq não funciona

Viewing all articles
Browse latest Browse all 14700