Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 527874
            [titulo] => Erro de lógica na busca de bairros
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-08-05 13:37:26
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 269142
            [status] => A
            [isExample] => 
            [NomeUsuario] => William 
            [Apelido] => William (Devwilliam)
            [Foto] => 269142_20150809195205.jpg
            [Conteudo] => Primeiramente parabéns Allkateia, postou a dúvida e forneceu praticamente todas as informações necessárias para que possamos tentar te ajudar!

Algumas observações iniciais:

Mesmo comentada, mas "myFunction()" é o mesmo nome tanto para bairro quanto cidades, é isso mesmo?

Outra coisa, você chama em vários scripts a conexão PDO, uma sugestão crie apenas um script de conexão e chame com include onde for necessário ) )

Erro de lógica na busca de bairros

Allkateia
   - 05 ago 2015

Pessoal, estou desenvolvendo um script para busca de cidades e bairros e em um certo momento da execução, ele não funciona, sei que é algum erro de lógica, por isso vou postar os códigos aqui para que se alguém puder me ajudar, eu agradeço.
Assim que eu executo o script, ele já me traz os estados, clico no estado escolhido e ele me traz as cidades, até aí tudo bem, porem, quando eu clico em cidades, ele não me traz os bairros.
Preciso de ajuda para resolver isso.
OBS.: Notem que eu coloquei a função bairros como comentário, pois se eu habilito ela, a função cidade não funciona.
Este é o index.php

#Código
<html>
<head>
<link rel="stylesheet" type="text/css" href="estilo.css">
<title>Exemplo</title>
<style type="text/css">
*, html {
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
margin: 0px;
padding: 0px;
font-size: 12px;
}
a {
color: #0099CC;
}
body {
margin: 10px;
}
.carregando{
color:#666;
display:none;
}
</style>
</head>
<body>
<?php

$pdo = new PDO(
"mysql:host=localhost;dbname=brasil;", 'root', '',
array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
)
);
?>
<ul>

<div id="estado">
<?php
try {
$results = $pdo->query("SELECT cod_estados, sigla, hifem, nome FROM estados ORDER BY nome");
} catch (Exception $e) {
exit;
}
$sql = "SELECT cod_estados, sigla, hifem, nome FROM estados ORDER BY nome";
while($row = $results->fetch(PDO::FETCH_ASSOC)){
echo '<button onclick="myFunction(this)" name="cod_estados" class="button_est" type="button" value="'.$row['cod_estados'].'" >'.$row['nome'].''.$row['hifem'].''.$row['sigla'].'</button>

';
}
?>
</div>
</ul>
<span class="carregando">Aguarde, carregando...</span>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load('jquery', '1.3');
</script>
<script type="text/javascript">
function myFunction(elmnt)
{
if( $(elmnt).val() )
{
$('#estado').html("").show();
$('#cod_cidades').hide();
$('.carregando').show();
$.getJSON
(
'cidades.ajax.php?search=',{cod_estados: $(elmnt).val(), ajax: 'true'},
function(j)
{
var options = '';
for (var i = 0; i < j.length; i++)
{
options += '<button name="cod_cidade" onclick="FuncaoBairro(this)" class="button_est" value="' + j[i].cod_cidades + '">' + j[i].nome + '</button>
';
}
$('#estado').html(options).show();
$('.carregando').hide();
}
);
}
};
</script>
<!--
<script type="text/javascript">
function myFunction(elmnt)
{
alert("bairros");
if( $(elmnt).val() )
{
$('#estado').html("").show();
$('#cod_bairros').hide();
$('.carregando').show();
$.getJSON
(
'bairros.ajax.php?search=',{cod_cidades: $(elmnt).val(), ajax: 'true'},
function(j)
{
var options = '';
for (var i = 0; i < j.length; i++)
{
options += '<button name="cod_bairros" onclick="FuncaoBairro(this)" class="button_est" value="' + j[i].cod_bairros + '">' + j[i].nome + '</button>
';
}
$('#estado').html(options).show();
$('.carregando').hide();
}
);
} else
{
$('#cod_bairros').html('<option value="">– Escolha um bairro –</option>');
}
};
</script> --->
</body>
</html>


Este é o cidades.ajax.php
#Código
<?php
$pdo = new PDO
(
"mysql:host=localhost;dbname=brasil;", 'root', '',
array
(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
)
);
$cod_estados = $_GET['cod_estados'] ;
$cidades = array();
try
{
$results = $pdo->query("SELECT cod_cidades, nome FROM cidades WHERE estados_cod_estados=$cod_estados ORDER BY nome");
}
catch (Exception $e)
{
// echo "Error.";
exit;
}
while($row = $results->fetch(PDO::FETCH_ASSOC))
{
$cidades[] = array
(
'cod_cidades' => $row['cod_cidades'],
'nome' => $row['nome'],
);
}
echo( json_encode( $cidades ) );

Este ´o bairro.ajax.php
#Código
<?php
$pdo = new PDO
(
"mysql:host=localhost;dbname=brasil;", 'root', '',
array
(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
)
);
$cod_cidades = $_GET['cod_cidades'] ;
$bairros = array();
try
{
$results = $pdo->query("SELECT cod_bairros, nome FROM bairros WHERE estados_cod_estados=$cod_estados ORDER BY nome");
}
catch (Exception $e)
{
// echo "Error.";
exit;
}
while($row = $results->fetch(PDO::FETCH_ASSOC))
{
$cidades[] = array
(
'cod_bairros' => $row['cod_bairros'],
'nome' => $row['nome'],
);
}
echo( json_encode( $bairros ) );


Este é o .SQL
#Código
#
# Encoding: Unicode (UTF-8)
#

DROP TABLE IF EXISTS `cidades`;
DROP TABLE IF EXISTS `estados`;

CREATE TABLE `cidades` (
`estados_cod_estados` int(11) DEFAULT NULL,
`cod_cidades` int(11) DEFAULT NULL,
`nome` varchar(72) COLLATE utf8_unicode_ci DEFAULT NULL,
`cep` varchar(8) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

CREATE TABLE `estados` (
`cod_estados` int(11) DEFAULT NULL,
`sigla` varchar(2) COLLATE utf8_unicode_ci DEFAULT NULL,
`hifem` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
`nome` varchar(72) COLLATE utf8_unicode_ci DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

SET FOREIGN_KEY_CHECKS = 0;

INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 1, 'ACRELÂNDIA', '69945000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 2, 'ASSIS BRASIL', '69935000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 3, 'BRASILÉIA', '69932000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 4, 'BUJARI', '69923000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 5, 'CAPIXABA', '69922000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 6, 'CRUZEIRO DO SUL', '69980000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 7, 'EPITACIOLÂNDIA', '69934000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 8, 'FEIJÓ', '69960000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (1, 9, 'JORDÃO', '69975000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 10, 'ÁGUA BRANCA', '57490000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 11, 'ALAZÃO', '57317000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 12, 'ALECRIM', '57405000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 13, 'ANADIA', '57660000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 14, 'ANEL', '57710000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 15, 'ANUM NOVO', '57610100');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 16, 'ANUM VELHO', '57610200');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 17, 'ARAPIRACA', '00000000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 18, 'ATALAIA', '57690000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (2, 19, 'BAIXA DA ONÇA', '57317100');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 20, 'ABACATE DA PEDREIRA', '68912350');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 21, 'SERRA DO NAVIO', '68948000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 22, 'AMAPÁ', '68950000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 23, 'AMAPARI', '68945000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 24, 'AMBÉ', '68912000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 25, 'APOREMA', '68994000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 26, 'ARIRI', '68912050');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 27, 'BAILIQUE', '68913000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 28, 'BOCA DO JARI', '68923000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (3, 29, 'CALÇOENE', '68960000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 30, 'ALVARÃES', '69475000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 31, 'AMATARI', '69105000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 32, 'AMATURÁ', '69620000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 33, 'ANAMÃ', '69445000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 34, 'ANORI', '69440000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 35, 'APUÍ', '69265000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 36, 'ARIAÚ', '69165000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 37, 'ATALAIA DO NORTE', '69650000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 38, 'AUGUSTO MONTENEGRO', '69182000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 39, 'AUTAZES', '69240000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (4, 40, 'AXINIM', '69210000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 41, 'ABADIA', '48320000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 432, 'ABAÍRA', '46690000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 44, 'ABARÉ', '48680000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 45, 'ABELHAS', '45112000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 46, 'ABÓBORA', '48912000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 47, 'ABRANTES', '42840000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 48, 'ACAJUTIBA', '48360000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 49, 'AÇU DA TORRE', '48288000');
INSERT INTO `cidades` (`estados_cod_estados`, `cod_cidades`, `nome`, `cep`) VALUES (5, 50, 'AÇUDINA', '47645000');

INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (1, 'AC', '-', 'ACRE');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (2, 'AL', '-', 'ALAGOAS');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (3, 'AP', '-', 'AMAPÁ');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (4, 'AM', '-', 'AMAZONAS');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (5, 'BA', '-', 'BAHIA');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (6, 'CE', '-', 'CEARÁ');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (7, 'DF', '-', 'DISTRITO FEDERAL');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (8, 'ES', '-', 'ESPÍRITO SANTO');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (9, 'RR', '-', 'RORAIMA');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (10, 'GO', '-', 'GOIÁS');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (11, 'MA', '-', 'MARANHÃO');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (12, 'MT', '-', 'MATO GROSSO');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (13, 'MS', '-', 'MATO GROSSO DO SUL');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (14, 'MG', '-', 'MINAS GERAIS');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (15, 'PA', '-', 'PARÁ');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (16, 'PB', '-', 'PARAÍBA');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (17, 'PR', '-', 'PARANÁ');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (18, 'PE', '-', 'PERNAMBUCO');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (19, 'PI', '-', 'PIAUÍ');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (20, 'RJ', '-', 'RIO DE JANEIRO');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (21, 'RN', '-', 'RIO GRANDE DO NORTE');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (22, 'RS', '-', 'RIO GRANDE DO SUL');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (23, 'RO', '-', 'RONDÔNIA');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (24, 'TO', '-', 'TOCANTINS');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (25, 'SC', '-', 'SANTA CATARINA');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (26, 'SP', '-', 'SÃO PAULO');
INSERT INTO `estados` (`cod_estados`, `sigla`, `hifem`, `nome`) VALUES (27, 'SE', '-', 'SERGIPE');

SET FOREIGN_KEY_CHECKS = 1;

Post mais votado

William (devwilliam)
   - 05 ago 2015

Primeiramente parabéns Allkateia, postou a dúvida e forneceu praticamente todas as informações necessárias para que possamos tentar te ajudar!

Algumas observações iniciais:

Mesmo comentada, mas "myFunction()" é o mesmo nome tanto para bairro quanto cidades, é isso mesmo?

Outra coisa, você chama em vários scripts a conexão PDO, uma sugestão crie apenas um script de conexão e chame com include onde for necessário

Allkateia
   - 05 ago 2015

Sim, as funções tinham o mesmo nome, porem, mudei-as uma passou a se chamar myFunction(elmnt_est) e a outra myFunction(elmnt_cid), porem nada mudou quanto ao problema.de chamar de chamar varias vezes a conexão você sugere colocar o include.
Como faço isso e aonde eu os coloco?

William (devwilliam)
   - 05 ago 2015

Allkateia você mudou o nome do parâmetro mas o nome da função contínua o mesmo "myFunction()" !!!

Allkateia
   - 06 ago 2015

#Código
<script type="text/javascript">
function myFunction(elmnt_com)
{
alert("Estados");
if( $(elmnt_com).val() )
{
$('#comercio').html("").show();
$('#cod_estado').hide();
$('.carregando').show();
$.getJSON
(
'estados.ajax.php?search=',{cod_estados: $(elmnt_com).val(), ajax: 'true'},
function(j)
{
var options = '';
for (var i = 0; i < j.length; i++)
{
options += '<button name="cod_estados" onclick="FuncaoEstados(this)" class="button_est" value="' + j[i].cod_estados + '">' + j[i].nome + '</button><br><br>';
}
$('#comercio').html(options).show();
$('.carregando').hide();
}
);

}
};
</script>


Nesta parte do script, eu mando buscar todos os registros que possuam o cod_estado com o mesmo valor de $(elmnt_com).val().
Como eu faço para mandar ele buscar os registros que sejam diferentes do cod_estado declarado no $(elmnt_com).val()?

Allkateia
   - 06 ago 2015

Já troquei o nome do function myFunction(elmnt_com) para function myFunction1(elmnt_com) e mesmo assim ele não busca as informações.
Se testarem o script, ele pega os estados e ao clicar nos estados, pega as cidades, porem, ao clicar em alguma cidade, ele não carrega os bairro.
Preciso de ajuda.