Jump to content
Fórum Script Brasil
  • 0

URGENTE - Combobox Dinâmico


l_ucasprado

Question

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 to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...