Edeg 0 Denunciar post Postado Outubro 23, 2022 estou tentando fazer um combobox de estados e cidades, porem quando seleciono o estado a cidade nao carrega. consigo trazer os estado do banco, mas as cidades nao carrega. alguem poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Frank K Hosaka 0 Denunciar post Postado Outubro 24, 2022 <?php // astudy.php // mysql: TABLE `tbcidades` (`id` int AUTO_INCREMENT pk,`uf` varchar(2),`cidade` varchar(45)) $mysqli=new mysqli("localhost","root","","astudy"); if(!isset($_GET['uf'])){ $query=$mysqli->query("select uf from tbcidades group by uf order by uf"); echo "<form>"; echo "<input list='uf' name='uf' placeholder='selecione o estado'>"; echo "<datalist id='uf'>"; while($row=$query->fetch_assoc()){echo "<option value=".$row['uf'].">";} echo "</datalist></form>"; exit;} $uf=$_GET['uf']; echo "estado: $uf <input type=submit value='mudar de estado' onclick=location.replace('astudy.php')>"; $query=$mysqli->query("select cidade from tbcidades where uf='$uf' order by cidade"); echo "<p><input list='cidades' placeholder='selecione a cidade'>"; echo "<datalist id='cidades'>"; while($row=$query->fetch_assoc()){echo "<option value=".$row['cidade'].">";} echo "</datalist>"; Compartilhar este post Link para o post Compartilhar em outros sites
Omar~ 87 Denunciar post Postado Outubro 26, 2022 Em 23/10/2022 at 11:04, Edeg disse: alguem poderia me ajudar? Podemos sim, mas poste mais informações para sabermos qual é o seu real problema Se for o caso mete isso no google: cidades estados github Verás um infinidade de projetos que nem depende de um banco de dados no girhub Compartilhar este post Link para o post Compartilhar em outros sites
luiz monteiro 0 Denunciar post Postado Outubro 26, 2022 Bom dia. Eu uso evento onchange no select dos estados para fazer uma chamada a uma função AJAX para retornar as cidades correspondentes. O que acontece muito, são erros na execução no PHP. Abre o console do navegador e verifica se esta retornando algum erro. Precisa debugar e postar aqui. Compartilhar este post Link para o post Compartilhar em outros sites
Edeg 0 Denunciar post Postado Outubro 27, 2022 estou tentando funcao no ajax com onchage. let selectEstado = document.getElementById('id_estado'); selectEstado.onchange = () => { let selectCidade = document.getElementById('id_cidades'); let valor = selectEstado.value; fetch("select_cons_municipio.php=" + valor) .then(response => { return response.text(); }) .then(texto => { selectCidade.innerHTML = texto; }); } porem o que me da erro e no código php. <?php include_once("conect.php"); $id_estado = $_GET['id_estado']; $query = $conn->prepare("SELECT id, nome FROM cidades WHERE estados_id=:estados_id ORDER BY nome ASC"); $data = ['estados_id' => $id_estado]; //linha 11 $query->execute($data); // linha 12 $registros = $query->fetchAll(PDO::FETCH_ASSOC); foreach($registros as $option){ ?> <option value="<?php echo $option['id']?>"><?php echo $option['nome']?></option> <?php } Fatal error: Uncaught Error: Call to a member function execute() on bool in C:\wamp64\www\dev\cons_municipio.php on line 12 ( ! ) Error: Call to a member function execute() on bool in C:\wamp64\www\dev\cons_municipio.php on line 12 não consegui entender o erro. desde já obrigado a todos. Compartilhar este post Link para o post Compartilhar em outros sites
washalbano 54 Denunciar post Postado Outubro 27, 2022 Olá! Há uma pá de adequações a serem feitas, para se ter um código mais "robusto". Mas tentando ir direto ao ponto... perceba que nesta linha você coloca um sinal de igual 5 hours ago, Edeg said: fetch("select_cons_municipio.php=" + valor) nesta linha você espera receber a variável id_estado 5 hours ago, Edeg said: $id_estado = $_GET['id_estado']; tente assim: fetch("select_cons_municipio.php?id_estado=" + valor) e veja se a mensagem de erro muda Compartilhar este post Link para o post Compartilhar em outros sites
Edeg 0 Denunciar post Postado Outubro 27, 2022 4 horas atrás, washalbano disse: Olá! Há uma pá de adequações a serem feitas, para se ter um código mais "robusto". Mas tentando ir direto ao ponto... perceba que nesta linha você coloca um sinal de igual nesta linha você espera receber a variável id_estado tente assim: fetch("select_cons_municipio.php?id_estado=" + valor) e veja se a mensagem de erro muda 4 horas atrás, washalbano disse: Olá! Há uma pá de adequações a serem feitas, para se ter um código mais "robusto". Mas tentando ir direto ao ponto... perceba que nesta linha você coloca um sinal de igual nesta linha você espera receber a variável id_estado tente assim: fetch("select_cons_municipio.php?id_estado=" + valor) e veja se a mensagem de erro muda primeiramente obrigado pela ajuda. continua não carregando as cidades, porem agora ao inspecionar a combobox aparece o erro <select name="id_cidades" id="id_cidades"> == $0 ( ! ) Fatal error: Uncaught Error: Call to a member function execute() on bool in C:\wamp64\www\dev\cons_municipio.php on line 12 ( ! ) Error: Call to a member function execute() on bool in C:\wamp64\www\dev\cons_municipio.php on line 12 Call Stack #TimeMemoryFunctionLocation 10.0023406992{main}( )...\cons_municipio.php:0 </select> Compartilhar este post Link para o post Compartilhar em outros sites
Jack Oliveira 1 Denunciar post Postado Novembro 1, 2022 Ola nao sei se vai te ajudar get_cidades.php Faz assim <?php required_once('config.php'); if(!empty($_POST['id_estado'])) { $id = intval($_POST['id_estado']); //resto do codigo aqui ?> No javascript assim <script> function cidades(val) { $.ajax({ type:"POST", url: "get_cidades.php", success: function(data){ $("#id_estado").html(data); } }); } </script> Compartilhar este post Link para o post Compartilhar em outros sites
Frank K Hosaka 0 Denunciar post Postado Novembro 1, 2022 <?php $municipios=file_get_contents("https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_do_Brasil"); $arr=array(); $pos0=0; for($i=1;$i<=5568;$i++){ $pos1=strpos($municipios,"<li>",$pos0); $pos1a=strpos($municipios,"title",$pos1); $pos1b=strpos($municipios,">",$pos1a)+1; $pos1c=strpos($municipios,"<",$pos1b); $pos2=strpos($municipios,"</li>",$pos1); $arr[] =substr($municipios,$pos1b,$pos1c-$pos1b)." =>".substr($municipios,$pos1c+6,2); $pos0=$pos2;} $estados=["AC","AL","AP","AM","BA","CE","DF","ES","GO","MA","MT","MS","MG","PA","PB","PR","PE","PI","RJ","RN","RS","RO","RR","SC","SP","SE","TO"]; echo "<select onchange=dynamicdropdown(this.options[this.selectedIndex].value)>"; echo "<option>Selecione um estado</option>"; foreach($estados as $estado){ echo "<option>$estado</option>";} echo "</select><p>"; echo "<select id=selCidade>"; echo "<option>Selecione a cidade</option>"; echo "</select>"; ?> <script> arr=<?=json_encode($arr)?>; function doHTML(list){ string =""; index = 0; list.forEach(element => {string += `<option value=${index}>${element}</option>`;}); return string;} function dynamicdropdown(escolha){ exibir=arr.filter(right) selCidade.innerHTML = doHTML(exibir) function right(texto){ ilen=String(texto).length;return escolha==String(texto).substring(ilen,ilen-2)}} </script> Aqui tem um erro, coloquei uma função dentro da outra. Mas ele funciona, e eu não precisei mais criar uma variável global para que o conteúdo da variável "escolha" chegasse até à função right. Compartilhar este post Link para o post Compartilhar em outros sites