select does not work

Asked

Viewed 492 times

-2

Hello guys I would like to ask for your help, I am learning php and I am trying to make a dependent combobox but I am facing some problems.

Problem number 1: My select neighborhoods does not appear

Issue #2: The properties that appear do not match the options you passed in select, i.e., shows all the properties instead of showing only the properties that were selected in select.

PHP:

<script src="lightbox/js/jquery-1.11.0.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
  $('#tipo').change(function(){

      $('#cb_categoria').load('combo_categoria.php?cod='+$('#tipo').val());
  });  //fim do change


  //aqui carrega o conteúdo

  $('#cb_categoria').change(function(){

      $('#conteudo').load('resultado.php?cod='+$('#cb_categoria').val());
      }); 

} );//fim do ready



</script>

<?php

$tipo = new Conexao();
$tipo->ExecSQL("select * from tipo ");

?>



<!--combo listando os tipos-->
 <label><b>Finalidade:</b></label>
<select id="tipo">

    <?php

    while($tip = $tipo->ListarDados()){

    ?>

    <option value="<?php echo $tip['tipo_id']?>"><?php echo $tip['tipo_nome']?></option>

    <?php

    }//fecho o laço

    ?>

</select>
<!--listando categoria-->
<label><b>Tipo:</b></label>

<select id="cb_categoria">

</select>


<!--conteudo pesquisado-->
<div id="conteudo"></div>

PHP category:

<script src="lightbox/js/jquery-1.11.0.min.js"></script>

<script type="text/javascript">
    $(document).ready(function () {
        $('#cb_categoria').change(function () {

            $('#cb_bairro').load('combo_bairro.php?cod='+$('#cb_categoria').val());

        });  //fim do change

        //aqui carrega o conteudo
        $('#cb_bairro').change(function () {

            $('#conteudos').load('resultado.php?cod='+$('#cb_bairro').val());

      });

    });//fim do ready



</script>



<?php
require './app/Config.php';

if (!empty($_GET['cod'])):

    $cod = $_GET['cod'];

else:
    $cod = 0;
endif;

$categoria = new Conexao();
$categoria->ExecSQL("select * from categoria where categoria_tipo = '$cod' ");
?>



<!--combo listando categoria-->


    <?php
    while ($cat = $categoria->ListarDados()) {
        ?>

        <option value="<?php echo $cat['categoria_id'] ?>"><?php echo $cat['categoria_nome'] ?></option>

    <?php
}//fecho o laço
?>



<label><b>Bairro:</b></label>
<select id="cb_bairro">

</select>


<!--conteudo pesquisado-->
<div id="conteudos"></div>

PHP neighborhoods:

<?php

require './app/Config.php';


if (!empty($_GET['cod'])):
    $cod = $_GET['cod'];

else:
    $cod = 0;
endif;


$bairro = new Conexao();
$bairro->ExecSQL("select * from bairro where bairro_categoria = '$cod'");

?>



<!--combo listando Bairro-->


    <?php

    while($bai = $bairro->ListarDados()){

    ?>

    <option value="<?php echo $bai['bairro_id']?>"><?php echo $bai['bairro_nome']?></option>

    <?php

    }//fecho o laço

    ?>

PHP results:

<?php
require_once './app/Config.php';


$imovel = new Conexao();

if (!empty($_GET['cod'])):
    $cod = $_GET['cod'];
else:
    $cod = 0;
endif;


$sql = 'select * from imoveis, tipo, categoria, bairro';
$sql .= ' where imovel_categoria = categoria_id and imovel_bairro = bairro_id';
$sql .= ' and imovel_tipo = tipo_id order by imovel_id';


$sql .= " and imovel_categoria = '$cod' ";
$sql .= " and imovel_bairro = '$cod' ";


$imovel->ExecSQL($sql);


echo '<ul>';
while ($imv = $imovel->ListarDados()) {


    //pego a foto
    $i = new Conexao();
    $f = $imv['imovel_id'];
    $i->ExecSQL("select * from imoveis_fotos where foto_imovel = '$f' limit 1");
    $foto = $i->ListarDados();


    //mostrando conteudo
    echo '<li class="listagem_home">';
    echo Fotos::Exibir($foto['foto_nome'], 150, 150);
    echo '<div class="imoveis">';
    echo '<div class="listagem_nome">' . $imv['tipo_nome'] . '</div>';
    echo '<div class="listagem_cat"> ' . $imv['categoria_nome'] . '</div>';
    echo '<div class="listagem_cat">R$ ' . Sistema::GetReal($imv['imovel_valor']) . '</div>';
    echo '<div class="listagem_bai"> ' . $imv['bairro_nome'] . '</div>';
    echo '<div id="botao">';
    echo '<a href="' . Rotas::$detalhe . $imv['imovel_id'] . '" class="btn">saiba mais</a>';
    echo '</div>';
    echo '</div>';
    echo '</li>';
}
echo '</ul>';
?>
  • 1

    Please do not duplicate the questions, we are not a support forum, keep the focus on the first question. Thank you.

1 answer

0

Instead of using the codes like this:

$bairro->ExecSQL("select * from bairro where bairro_categoria = '$cod'");

I think it should be like this:

$bairro->ExecSQL("select * from bairro where bairro_categoria = '".$cod."'");

Another thing, on the results page, you used select as follows:

$sql = 'select * from imoveis, tipo, categoria, bairro';
$sql .= ' where imovel_categoria = categoria_id and imovel_bairro = bairro_id';
$sql .= ' and imovel_tipo = tipo_id order by imovel_id';


$sql .= " and imovel_categoria = '$cod' ";
$sql .= " and imovel_bairro = '$cod' ";

Are you sure both imovel_categoria when imovel_bairro are equal to $cod?

Browser other questions tagged

You are not signed in. Login or sign up in order to post.