anacss 0 Denunciar post Postado Abril 19, 2015 Olá! Bom, eu tenho 2 comboboxes populadas à partir do que está no banco de dados, da seguinte forma: <form name="busca" method="post" action="pesquisa.php"> Estou em</br> <label for="cod_cidades">Cidade:</label> <select name="cod_cidades" id="cod_cidades"> <option value=""></option> <?php $sql = "SELECT cod_cidades, nome FROM cidades ORDER BY nome"; $res = mysql_query( $sql ); while ( $row = mysql_fetch_assoc( $res ) ) { echo '<option value="'.$row['cod_cidades'].'">'.(utf8_encode($row['nome'])).'</option>'; } ?> </select> <label for="cod_bairros">Bairro/região:</label> <span class="carregando">Carregando...</span> <select name="cod_bairros" id="cod_bairros"> <option value="">Escolha uma cidade</option> </select> <script src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('jquery', '1.3'); </script> <script type="text/javascript"> $(function(){ $('#cod_cidades').change(function(){ if( $(this).val() ) { $('#cod_bairros').hide(); $('.carregando').show(); $.getJSON('bairros.ajax.php?search=',{cod_cidades: $(this).val(), ajax: 'true'}, function(j){ var options = '<option value=""></option>'; for (var i = 0; i < j.length; i++) { options += '<option value="' + j[i].cod_bairros + '">' + j[i].nome + '</option>'; } $('#cod_bairros').html(options).show(); $('.carregando').hide(); }); } else { $('#cod_bairros').html('<option value="">Escolha uma cidade</option>'); } }); }); </script> <input name="enviar" type="submit" id="enviar" value="Enviar"> </form> Eu quero pegar o que o usuário selecionar e, ao clicar em Enviar, fazer uma consulta SQL usando esses valores. Tentei atribuir os valores à variáveis, como demonstrado abaixo, mas deu o erro: Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\pesquisa.php on line 47 $cod_cidades = $_POST['cod_cidades']; $cod_bairros = $_POST['cod_bairros']; $sql = mysql_query("Select nm_linha From linhas where cidades_origem like _utf8 '%'$cod_cidades'%' and ida like _utf8 '%'$cod_bairros'%' COLLATE utf8_unicode_ci"); while($exibe = mysql_fetch_assoc($sql)){ echo $exibe['nm_linha'] .'<br>'; } Compartilhar este post Link para o post Compartilhar em outros sites
Criquio 19 Denunciar post Postado Abril 19, 2015 Não seria melhor apenas assim? "Select nm_linha From linhas where cidades_origem = '$cod_cidades' and ida = '$cod_bairros'" Já que pegas os valores das combos acredito que eles estejam completos. Então não seria o caso de usar '%' no like. Compartilhar este post Link para o post Compartilhar em outros sites
anacss 0 Denunciar post Postado Abril 19, 2015 Não seria melhor apenas assim? "Select nm_linha From linhas where cidades_origem = '$cod_cidades' and ida = '$cod_bairros'" Já que pegas os valores das combos acredito que eles estejam completos. Então não seria o caso de usar '%' no like. Oi Criquio Então, no banco esses dois campos tem várias cidades e bairros separados por vírgula, por isso o %. Compartilhar este post Link para o post Compartilhar em outros sites
Criquio 19 Denunciar post Postado Abril 19, 2015 Já tentou assim? "Select nm_linha From linhas where cidades_origem like '%$cod_cidades%' and ida like '%$cod_bairros%'" Compartilhar este post Link para o post Compartilhar em outros sites
anacss 0 Denunciar post Postado Abril 19, 2015 Já tentou assim? "Select nm_linha From linhas where cidades_origem like '%$cod_cidades%' and ida like '%$cod_bairros%'" Tentei agora. O erro desapareceu, mas a página aberta ficou em branco. Selecionei opções que existem no banco, então não foi falta de resultado. :/ Compartilhar este post Link para o post Compartilhar em outros sites
Criquio 19 Denunciar post Postado Abril 19, 2015 Seria mais prático se cada código ficasse em um registro diferente. Como são esses códigos? Tente printá-los na página para ver se está saindo conforme estão no banco. Compartilhar este post Link para o post Compartilhar em outros sites
anacss 0 Denunciar post Postado Abril 19, 2015 Seria mais prático se cada código ficasse em um registro diferente. Como são esses códigos? Tente printá-los na página para ver se está saindo conforme estão no banco. Não entendi muito bem o que disse, mas eu fiz uns testes com a acentuação das palavras e esse collate resolveu. Quando monto a query usando as próprias palavras em vez das variáveis, os resultados retornam OK. Compartilhar este post Link para o post Compartilhar em outros sites
Criquio 19 Denunciar post Postado Abril 19, 2015 A,minha dica seria para imprimir as variáveis na página para ver como os resultados estão vindo: echo $cod_cidades . " - " . $cod_bairros; Compartilhar este post Link para o post Compartilhar em outros sites