Jump to content
Ezkiel

Select Box dependente de o valor escolhido

Recommended Posts

Ezkiel

Boas,

os dados são apresentados nas listas a partir da categoria escolhida e a partir das listas consigo especificar os dados que pretendo filtrar. Acontece que sempre que escolho um dos dados funciona essa parte mas não apresenta novamente as listas e assim também não consigo acumular os dados anteriores, para que a filtragem seja mais eficiente.

No que preciso de ajuda

1º - Que as listas voltem a ser apresentadas após selecção do valor para filtragem

2º - Que as listas após a escolha dos valores seleccionados apresentem os dados dependentes das opções.

ex:

Lista A

a1- Laranja

a2- Batata

a3- Maçã

Lista B

b1-Legumes

b2-Fruta

Se escolher a opção Fruta, esta fica seleccionada e só fica disponível na lista A : Laranja e Maçã. Sempre assim até com mais items.

Envio a função que já escrevi:

<?php
function getCats1 ()
{
global $con;
$get_cats = "select * from categorias";
$run_cats = mysqli_query ($con, $get_cats);

while($row_cats= mysqli_fetch_array ($run_cats))
{
$cat_id = $row_cats['cat_id'];
$cat_title = $row_cats['cat_title'];
}

if(isset($_GET['cat'])){

$cat= $_GET['cat'];
global $con;
//Diametro
$get_cat_pro = "SELECT * FROM produtos where cat='$cat' ";
$run_cat_pro = mysqli_query ($con, $get_cat_pro);
echo"Diâmetro <select name='diametro' onchange='location= this.value;'>";
while($row_cat_pro=mysqli_fetch_array($run_cat_pro)){
	 $pro_diametro = $row_cat_pro['diametro'] ;
	 $link_diametro= "index.php?diametro=$pro_diametro";

	 echo "<option value='" .$link_diametro ."' >" . $pro_diametro . "</option>";
			 }
echo "</select>";

//Espess_segmento
$get_cat_pro2 = "SELECT * FROM produtos where cat='$cat' ";
$run_cat_pro2 = mysqli_query ($con, $get_cat_pro2);
echo"Espessura de Segmento <select name='espess_segmento' onchange='location= this.value;'>";
while($row_cat_pro2=mysqli_fetch_array($run_cat_pro2)){
	 $pro_espess_segmento = $row_cat_pro2['espess_segmento'] ;
	 $link_espess_segmento= "index.php?espess_segmento=$pro_diametro";

	 echo "<option value='" .$link_espess_segmento ."' >" . $pro_espess_segmento . "</option>";
			 }
echo "</select>";

}
}
?>

Share this post


Link to post
Share on other sites
katisuhara

Ezkeil este é um caso que o Jquery poderia te ajudar, nesse caso você pode usar um ajax para buscar as infos no banco dependendo da opção escolhida, veja esse exemplo:

Sem ajax: http://www.sanwebe.com/2013/05/select-box-change-dependent-options-dynamically

Com ajax: http://talkerscode.com/webtricks/dynamic-select-option-menu-using-ajax-and-php.php

Espero que possa te ajudar.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.