Ola pessoa alguém poderia me ajudar vi um tutorial bem interessante sobre filtros dinamicos, mas era de apenas 3 campos o que fiz contem 4... porem o 4 filtro não esta filtrando, esta carregando todas os dados existentes, n esta filtrando...
ex:
estado => cidade => segmento => Colegio (na hora de carregar o colegio ele não filtra exibe todod os colegios existentes)
banco
-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tempo de Geração:
-- Versão do Servidor: 5.5.24-log
-- Versão do PHP: 5.3.13
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Banco de Dados: `ajuda`
--
-- --------------------------------------------------------
--
-- Estrutura da tabela `tbl_cidade`
--
CREATE TABLE IF NOT EXISTS `tbl_cidade` (
`id_cidade` int(2) NOT NULL AUTO_INCREMENT,
`id_estado` int(2) NOT NULL,
`segmento` varchar(10) NOT NULL,
`cidade` varchar(20) NOT NULL,
PRIMARY KEY (`id_cidade`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6;
--
-- Extraindo dados da tabela `tbl_cidade`
--
INSERT INTO `tbl_cidade` (`id_cidade`, `id_estado`, `segmento`, `cidade`) VALUES
(1, 1, 'Todos', 'Joao pessoa'),
(2, 2, 'Todos', 'Recife'),
(3, 1, 'Todos', 'Guarabira'),
(4, 2, 'MEdio', 'Paulista'),
(5, 1, 'Medio', 'caicara');
-- --------------------------------------------------------
--
-- Estrutura da tabela `tbl_colegio`
--
CREATE TABLE IF NOT EXISTS `tbl_colegio` (
`id_colegio` int(11) NOT NULL AUTO_INCREMENT,
`colegio` varchar(50) NOT NULL,
`id_estado` int(2) NOT NULL,
`id_cidade` int(2) NOT NULL,
`segmento` int(2) NOT NULL,
PRIMARY KEY (`id_colegio`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;
--
-- Extraindo dados da tabela `tbl_colegio`
--
INSERT INTO `tbl_colegio` (`id_colegio`, `colegio`, `id_estado`, `id_cidade`, `segmento`) VALUES
(1, 'GEO tambau', 1, 1, 4),
(2, 'Geo Recife', 2, 2, 4);
-- --------------------------------------------------------
--
-- Estrutura da tabela `tbl_estado`
--
CREATE TABLE IF NOT EXISTS `tbl_estado` (
`id_estado` int(2) NOT NULL AUTO_INCREMENT,
`estado` char(2) NOT NULL,
PRIMARY KEY (`id_estado`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3;
--
-- Extraindo dados da tabela `tbl_estado`
--
INSERT INTO `tbl_estado` (`id_estado`, `estado`) VALUES
(1, 'PB'),
(2, 'PE');
-- --------------------------------------------------------
--
-- Estrutura da tabela `tbl_segmento`
--
CREATE TABLE IF NOT EXISTS `tbl_segmento` (
`id_segmento` int(2) NOT NULL AUTO_INCREMENT,
`segmento` varchar(50) NOT NULL,
PRIMARY KEY (`id_segmento`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5;
--
-- Extraindo dados da tabela `tbl_segmento`
--
INSERT INTO `tbl_segmento` (`id_segmento`, `segmento`) VALUES
(1, 'todos os segmentos'),
(2, 'Ensino Médio'),
(3, 'Educacao Fundamental'),
(4, 'Educacao Infantil');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
index.php
<script type="text/javascript" src="jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// Evento change no campo tipo
$("select[name=estado]").change(function(){
// Exibimos no campo marca antes de concluirmos
$("select[name=cidade]").html('<option value="">Carregando...</option>');
// Exibimos no campo marca antes de selecionamos a marca, serve também em caso
// do usuario já ter selecionado o tipo e resolveu trocar, com isso limpamos a
// seleção antiga caso tenha feito.
$("select[name=cidade]").html('<option value="">Aguardando cidade...</option>');
// Passando tipo por parametro para a pagina ajax-marca.php
$.post("combo_cidade.php",
{estado:$(this).val()},
// Carregamos o resultado acima para o campo marca
function(valor){
$("select[name=cidade]").html(valor);
}<!--linha 22-->
)<!--linha19 -->
})<!-- Lunha 11 -->
//-----------------------------------------------------------------
// Evento change no campo marca
$("select[name=cidade]").change(function(){
// Exibimos no campo modelo antes de concluirmos
$("select[name=segmento]").html('<option value="">Carregando...</option>');
// Passando marca por parametro para a pagina ajax-modelo.php
$.post("combo_segmento.php",
{cidade:$(this).val()},
// Carregamos o resultado acima para o campo modelo
function(valor){
$("select[name=segmento]").html(valor);
} //linha 38
)// linha 35
}//linha 31
)//linha 31
$("select[name=segmento]").change(function(){
// Exibimos no campo modelo antes de concluirmos
$("select[name=colegio]").html('<option value="">Carregando...</option>');
// Passando marca por parametro para a pagina ajax-modelo.php
$.post("combo_colegio.php",
{segmento:$(this).val()},
// Carregamos o resultado acima para o campo modelo
function(valor){
$("select[name=colegio]").html(valor);
} //linha 38
)// linha 35
}//linha 31
)//linha 31
}) //linha 9
</script>
</head>
<form action="" method="post" id="auto">
<select name="estado">
<option value="0">Escolher tipo</option>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("aquigeo");
$sql = "SELECT * FROM tbl_estado ORDER BY estado ASC";
$qr = mysql_query($sql) or die(mysql_error());
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id_estado'].'">'.$ln['estado'].'</option>';
}
?>
</select>
<select name="cidade">
<option value="0" selected="selected">Aguardando tipo...</option>
</select>
<select name="segmento">
<option value="0" selected="selected">Aguardando marca...</option>
</select>
<select name="colegio">
<option value="0" selected="selected">Aguardando marca...</option>
</select>
</form>
</body>
</html>
combo-cidade.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("aquigeo");
$estado = $_POST['estado'];
$sql = "SELECT id_cidade, cidade FROM tbl_cidade WHERE estado = '$estado' ORDER BY id_cidade ASC";
$qr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($qr) == 0){
echo '<option value="0">'.htmlentities('Aguardando tipo...').'</option>';
}else{
echo '<option value="">Selecione cidade...</option>';
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id_cidade'].'">'.$ln['cidade'].'</option>';
}
}
?>
combo-segmento.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("aquigeo");
$cidade = $_POST['cidade'];
$sql = "SELECT id_segmento, segmento FROM tbl_segmento WHERE cidade = '$cidade' ORDER BY segmento ASC";
$qr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($qr) == 0){
echo '<option value="0">'.htmlentities('Aguardando marca...').'</option>';
}else{
echo '<option value="0">Selecione modelo...</option>';
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id_segmento'].'">'.$ln['segmento'].'</option>';
}
}
?>
combo-colegio
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("aquigeo");
$segmento = $_POST['segmento'];
$sql ="SELECT id_colegio, colegio FROM tbl_colegio WHERE segmento ='$segmento' ORDER BY colegio ASC";
$qr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($qr) == 0){
echo '<option value="0">'.htmlentities('Aguardando marca...').'</option>';
}else{
echo '<option value="0">Selecione modelo...</option>';
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id_colegio'].'">'.$ln['colegio'].'</option>';
}
}
?>
alguém que programe bem sabe qual é o problema, pois n vi nehum um tutorial com 4 campos...
Pergunta
xdcblade
Ola pessoa alguém poderia me ajudar vi um tutorial bem interessante sobre filtros dinamicos, mas era de apenas 3 campos o que fiz contem 4... porem o 4 filtro não esta filtrando, esta carregando todas os dados existentes, n esta filtrando...
ex:
estado => cidade => segmento => Colegio (na hora de carregar o colegio ele não filtra exibe todod os colegios existentes)
banco
index.php combo-cidade.php combo-segmento.php combo-colegioalguém que programe bem sabe qual é o problema, pois n vi nehum um tutorial com 4 campos...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.