Ir para conteúdo
Fórum Script Brasil
  • 0

URGENTE - Combobox Dinâmico


l_ucasprado

Pergunta

Sou um pouco leigo em php, preciso de ajuda.

.. Meu caso é o seguinte ... preciso de 2 combos semelhantes ao esquema ESTADOS x CIDADES. Porém, preciso que quando o usuário Selecione um ESCOLA no primeiro combobox, automaticamente filtre somente as salas relacionadas a essa escola escolhida.

Por exemplo: COMBOBOX1 = ESCOLA 01 (selecionada)

COMBOBOX2 = SALA 01 (filtrada)

SALA 02 (filtrada)

SALA 03 (filtrada)

já vi pela internet scripts de estados x cidades, porém não consegui adequar e fazer funcionar de acordo com o que eu preciso.

TABELA: pro_cqoue_escola

CAMPOS: ESCOLA (nome_escola); ID ESCOLA (id_escola).

TABELA: pro_rac_sala

CAMPOS: SALA/SÉRIE (serie); ID ESCOLA (cqoue_escola_id_escola).

Se alguém puder me ajudar vou ficar muito agradecido, já tentei de tudo.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá Willian,

a forma mais prática é você usar Ajax para isso... mas em PHP seria algo assim:

Antes do </head> coloque:

<script type="text/javascript">

function MM_jumpMenu(targ,selObj,restore){ //v3.0

eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");

if (restore) selObj.selectedIndex=0;

}

</script>

<body>

<select name=jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)">

<?php

$sql = mysql_query("SELECT * FROM sua tabela");

while($listar = mysql_fetch_object($sql)):

?>

<option value="?id=<?=$listar->idTabela;?>">Dados da tabela</option>

<?php endwhile;?>

</select>

Outro combox

<?php if(!isset($_REQUEST["id])): ?>

<select name="" disabled>

<option>Selecione os dados acima</option>

</select>

<?php else: ?>

<select name="seuoutrocombox">

<?php

$sql = mysql_query(sprintf("SELECT * FROM sua outra tabela WHERE id = '%s'",mysql_escape_string($_REQUEST["id'])));

while($listarnovamente = mysql_fetch_object($sql)):

?>

<option value="<?=$listarnovmante->iddeoutraTabela;?>">Dados da outra tabela</option>

<?php endwhile;?>

</select>

<?php endif; ?>

abs

Esqueci de dizer que isso só vai funcionar se as tabelas estiverem relacionadas.

abs

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei sim ...

De tudo quanto é jeito .. Mas não vai ...

index.php

<html>

<head>

<title>COMBO</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

include("../../conecta.php"); //vai incluir o comandos para conectar no servidor e no banco de dados

$sql = "SELECT * FROM pro_cqoue_escola ORDER BY nome_escola ASC";

$res = mysql_query($sql,$conexao);

$num = mysql_num_rows($res);

?>

<label for="nome_escola">Escola:</label>

<select name="nome_escola">

<? for($i=0;$i<$num;$i++)

{

$dados = mysql_fetch_array($res);

?>

<option value="<? echo $dados['nome_escola']?>">(<? echo $dados['id_escola']?>) <? echo $dados['nome_escola']?></option>

<? }?>

</select>

<label for=serie">Sala:</label>

<span class="carregando">Aguarde, carregando...</span>

<select name="serie" id="serie">

<option value="">-- Escolha uma escola --</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(){

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

if( $(this).val() ) {

$('#serie').hide();

$('.carregando').show();

$.getJSON('sala.ajax.php?search=',{serie: $(this).val(), ajax: 'true'}, function(j){

var options = '<option value=""></option>';

for (var i = 0; i < j.length; i++) {

options += '<option value="' + j.serie + '">' + j.nome + '</option>';

}

$('#nome_sala').html(options).show();

$('.carregando').hide();

});

} else {

$('#nome_sala').html('<option value="">– Escolha uma Escola –</option>');

}

});

});

</script>

</body>

</htm>

____________________________________________________________

sala.ajax.php

<?php

header( 'Cache-Control: no-cache' );

header( 'Content-type: application/xml; charset="utf-8"', true );

include("../../conecta.php");

$nome_escola = mysql_real_escape_string( $_REQUEST['serie] );

$serie = array();

$sql = "SELECT * FROM pro_rac_sala WHERE cqoue_escola_id_escola=$nome_escola

ORDER BY serie ASC";

$res = mysql_query( $sql );

while ( $row = mysql_fetch_assoc( $res ) ) {

$cidades[] = array(

'serie' =>

$row['serie'],

'serie' => $row['serie'],

);

}

echo( json_encode( $salas ) );

?>

alguém pode me ajudar, pelo amor de deus, já ta fundindo os neorônios. Substitui as variáveis, mas ta complicado, não entendo de ajax, mas não tenho outro saída se não usar. "/

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...