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

Trabalhando Com Combo (listbox)


hugoes

Pergunta

Olá, estou com uma dúvida e queria saber se alguém poderia me ajudar.

Bom. Basicamente meu problema é uma atualização de página a partir da escolha de um item de um combo. Quando escolho o item, faço um select baseado nesse item e exibo informações numa tabela. Quando mudo o valor do combo, as informações também mudam.

Vou dizer como estou fazendo. Assim, se alguém puder apontar algum erro ou até mesmo sujerir nova resolução, agradeço.

Estou com um form que é onde fica meu combo. Quando escolho o item, mando esse parâmetro pra outro form na mesma página, onde faço meus select's.

Código-fonte:

$conect = pg_connect(HOST, USER, PASS,DB);

$busca = "SELECT (dado) FROM `(tabela)`";

$rs = pg_query($busca,$conect) or die("Falha na conexão");

$x_nomeList = "<select name=\"x_nome\" onChange='form2.submit()'>";

$x_nomeList .= "<option value=''>Nome</option>";

for ($i=0;$i<=pg_num_rows($rs)-1;$i++){

$apelido = @pgl_fetch_array($rs);

$x_nomeList.= "<option value='".$apelido["(dado)"]."'";

$x_nomeList.=>".strtoupper($apelido["(dado)])."</option>";

}

$x_nomeList .= "</select>";

echo $x_nomeList;

Aí não consigo mandar o parâmetro p um segundo form e exibir os dados.

Queria que alguém me desse um help aí biggrin.gif

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Cara..isso aki funciona...qualquer dúvida posta aÊ....

Arquivo: Formcadastro.php....

<html><head></head>

<script language="JavaScript">

function carregar(){

var url;

url = 'remoteCadastro.php?txtpais='+document.Cadastro.txtpais[document.Cadastro.txtpais.selectedIndex].value;

document.Cadastro.txtestado.options.length = 0;

addItem(document.Cadastro.txtestado,"Aguarde...carregando","",false,document.Cadastro.txtestado.length)

myIframe.location = url;

document.Cadastro.txtestado.focus()

}

function inicia(){

local1 = new Array();

var maximo1, i, campo1;

local1 = myIframe.loc;

campo1 = document.Cadastro.txtestado;

maximo1 = local1.length;

document.Cadastro.txtestado.options.length = 0;

addItem(campo1,'TODAS','',false,campo1.length);

for (i=0;i<maximo1;i++){

addItem(campo1,local1[1],local1[0],false,campo1.length);

}

}

function addItem(obj,strText,strValue,blSel,intPos){

var newOpt,i,ArTemp,selIndex;

selIndex = (blSel)?intPos:obj.selectedIndex;

newOpt = new Option(strText,strValue);

Len = obj.options.length+1

if (intPos > Len) return

obj.options.length = Len

if (intPos != Len) {

ArTemp = new Array();

for(i=intPos;i<obj.options.length-1;i++)

ArTemp = Array(obj.options.text,obj.options.value);

for(i=intPos+1;i<Len;i++)

obj.options = new Option(ArTemp[i-1][0],ArTemp[i-1][1]);

}

obj.options[intPos] = newOpt;

if (selIndex > intPos)

obj.selectedIndex = selIndex+1;

else if (selIndex == intPos)

obj.selectedIndex = intPos;

}

</script>

<body>

<form name = "Cadastro" method=post" action="remoteUsuario.php">

<select name="txtpais" onChange="carregar();">

<option>Brasil</option>

......

......

.....

.....

<option>USA</option>

</select>

<select name="txtestado">

</select>

</form>

</body>

</html>

Arquivo: remoteCadastro.php....

<?

include "config.php";

$pais = $_GET['txtpais];

$auxsql = "SELECT DISTINCT descricao FROM estados WHERE pais='{$pais}' order by descricao";

$sql = mysql_query($auxsql);

if(!$sql){echo mysql_error();exit();}

?>

<script>

loc = new Array(<?=mysql_num_rows($sql)?>)

for (i=0; i < <?=mysql_num_rows($sql)?>; i++) {

loc = new Array(2)

for (j=0; j < 2; j++) {

loc[j] = "0"

}

}

<? $j = 0;

while ($linha = mysql_fetch_array($sql)) {?>

loc[<?=$j?>][0] = "<?=$linha[0]?>";

loc[<?=$j?>][1] = "<?=$linha[0]?>";

<?$j++;

}

?>

parent.inicia();

<?

//mysql_close($con);

?>

</script>

bom.....são 2 arquivos....acredito que a lógica esteja correta..... + em caso de dúvida ou erro..post ai...que eu te ajudo...

falow's....

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,6k
×
×
  • Criar Novo...