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

Combobox Alterado Baseado Na Escolha De Outra Caix


Guest - PHP -

Pergunta

Estou procurando uma maneira de fazer um caixa do tipo DropDown ( ComboBox) ter o seu valor alterado baseado na escolha de outra caixa, achei um script ae na concorrencia mas não funcionou

alguém pode me dar uma força?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Cara/Moça o problema é que php é SERVER-SIDE, então, qualquer informação nova que você queira mandar ou receber tem que passar pelo servidor primeiro...

Ou seja, isso pode ser feito, mas vai ter que rolar um submit ou uma atualização na sua página, passando variáveis via query string [popular url].

Você também pode puxar toda a informação, jogar em variáveis JavaScript e fazer esse seu esquema de alteração todo via JS; é uma possbilidade... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Grande resposta!!

Eu preciso de um script, de uma dica como fazer isso.

é logico que vai precisar de um JS no meio pra coisa funcionar biggrin.gif

Isso, cara, se quer uma ajuda pra fazer, poste o script aí...

Se quiser um script pronto, a gente move o seu tópico para classificados pra ficar mais fácil de você encontrar um programador interessado... cool.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Olha ae pessoal tenho isso ae na mão mas to me batendo:

<html>

<head>

<title>Auto Drop Down com PhP e MySQL</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<!--

############################################################################################################

# Esse Exemplo foi escrito para ajudar aqueles que estão procurando uma maneira #

# de fazer um caixa do tipo DropDown (também chamada de ComboBox) ter o seu valor #

# alterado baseado na escolha de outra caixa, eu particularmente tive muito trabalho #

# até conseguir algo com sucesso e agora compartilho isso com todos que programem #

# em PhP e precisem desse exemplo. #

# #

# O script é baseado em JavaScript e PhP, o JS foi tirado do site http://javascript.internet.com #

# do script Auto Drop Down de autoria de Jerome Caron (jerome.caron@globetrotter.net), #

# meu muito obrigado a ele. #

# #

# O exemplo que eu uso aqui utiliza de banco de dados MySQL, mas pode facilmente ser #

# adaptado a outro banco de dados qualquer. #

# A estrutura do banco e seus dados de exemplos estão no arquivo banco.sql #

# #

# Todo o codigo esta comentado para ajudar a melhor entender e adapta-lo a outras necessidades #

# #

# Obrigado ao pessoal da Lista PhP-pt (http://br.egroups.com/group/php-pt) que já salvaram minha #

# vida inumeras vezes, ao Renato e Julio, amigos e colegas de trabalho, a Camilla que é a #

# pessoa que eu mais amo no mundo todo junto com nossa filha. #

# #

# Dúvidas, critica, sugestões são bem vindas #

# Carlos dos Santos (carlosmaster@jedi.com.br) #

############################################################################################################

-->

<!--

###########################################################

# Altere os valores usuario, senha e banco_de_dados #

# para o dados do seu servidor, lembre-se que a estrutura #

# do banco esta no arquivo banco.sql #

###########################################################

-->

<?$conecta=mysql_connect("localhost", "user", "senha");

$seleciona_db=mysql_select_db("banco", $conecta);

?>

<!--

###########################################################

# Aqui começamos a escrever o JavaScript que vai fazer #

# tudo acontecer, o que estaremos é fazendo é alterando o #

# script original do Jerome Caron para que o PhP escreva #

# parte dele dependendo da consulta que tivermos no banco #

# de dados #

###########################################################

-->

<script LANGUAGE="JavaScript">

team = new Array(

<!--

###########################################################

# Caso a sua tabela seja diferente altere apenas a sql e #

# a array $row e $rowx para que elas apontem para o novo #

# nome dos campos #

# Todas as categorias terão listadas nelas o item "Todas" #

# com valor '0' e caso a categoria não tenha nenhuma #

# Sub Categoria ela retorna o ite "Qualquer", também com #

# valor '0'. #

###########################################################

-->

<?

$sql="select * from categorias order by descricao";

$sql_result=mysql_query($sql, $conecta);

$num=mysql_numrows($sql_result);

while ($row=mysql_fetch_array($sql_result)){

$conta=$conta+1;

$cod_categoria=$row["codigo"];

echo "new Array(\n";

$sub_sql=select * from sub_categorias where cod_categoria='$cod_categoria'";

$sub_result=mysql_query($sub_sql, $conecta);

$num_sub=mysql_numrows($sub_result);

if ($num_sub>=1){

echo "new Array(\"Todas\", 0),\n";

while ($rowx=mysql_fetch_array($sub_result)){

$codigo_sub=$rowx["codigo];

$sub_nome=$rowx["descricao"];

$conta_sub=$conta_sub+1;

if ($conta_sub==$num_sub){

echo "new Array(\"$sub_nome\", $codigo_sub)\n";

$conta_sub=";

}else{

echo "new Array(\"$sub_nome\", $codigo_sub),\n";

}

}

}else{

echo "new Array(\"Qualquer\", 0)\n";

}

if ($num>$conta){

echo "),\n";

}

}

echo ")\n";

echo ");\n";

?>

function fillSelectFromArray(selectCtrl, itemArray, goodPrompt, badPrompt, defaultItem) {

var i, j;

var prompt;

// empty existing items

for (i = selectCtrl.options.length; i >= 0; i--) {

selectCtrl.options = null;

}

prompt = (itemArray != null) ? goodPrompt : badPrompt;

if (prompt == null) {

j = 0;

}

else {

selectCtrl.options[0] = new Option(prompt);

j = 1;

}

if (itemArray != null) {

// add new items

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

selectCtrl.options[j] = new Option(itemArray[0]);

if (itemArray[1] != null) {

selectCtrl.options[j].value = itemArray[1];

}

j++;

}

// select first item (prompt) for sub list

selectCtrl.options[0].selected = true;

}

}

// End -->

</script>

<center>

<form name="form1" method="post" action="">

<p>Aqui tamb&eacute;m temos itens a ser observados, verifique no codigo fonte</p>

<p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1">

<!--

###########################################################

# Estamos quase terminado, agora precisamos fazer com que #

# o conteúdo do DropDown das categorias seja o mesmo que #

# o que temos no banco de dados. #

# É preciso também observar o evento onChange que ele #

# possui, onde também deve aparecer o nome do segundo #

# DropDown. #

# O segundo DropDown não precisa de nada especial. #

# Com isso concluimos nosso codigo e podemos testa-lo #

###########################################################

-->

<select name=categoria onChange="fillSelectFromArray(this.form.sub_categoria, ((this.selectedIndex == -1) ? null : team[this.selectedIndex-1]));">

<option>Escolha uma Categoria</option>

<?

$sql="select * from categorias order by descricao";

$sql_result=mysql_query($sql, $conecta);

while ($row=mysql_fetch_array($sql_result)){

$cod_categoria=$row["codigo];

$desc_categoria=$row["descricao"];

?>

<option value="<?echo $cod_categoria;?>">

<?echo $desc_categoria;?>

</option>

<?

}

?>

</select>

<select name="sub_categoria">

<option>---------------</option>

</select>

</font></b> </p>

</form></center>

</body>

</html>

BANCO:

#

# Estrutura da tabela 'categoria'

#

CREATE TABLE `categoria` (

`codigo` int(11) NOT NULL auto_increment,

`descricao` varchar(50) NOT NULL default '',

PRIMARY KEY (`codigo`)

) TYPE=MyISAM;

#

# Extraindo dados da tabela 'categoria'

#

INSERT INTO categoria VALUES ( '1', 'Seriados');

INSERT INTO categoria VALUES ( '2', 'Filmes');

INSERT INTO categoria VALUES ( '3', 'Quadrinhos');

INSERT INTO categoria VALUES ( '4', 'Jogos');

# --------------------------------------------------------

#

# Estrutura da tabela 'sub_categoria'

#

CREATE TABLE `sub_categoria` (

`codigo` int(11) NOT NULL auto_increment,

`cod_categoria` int(11) NOT NULL default '0',

`descricao` varchar(50) NOT NULL default '',

PRIMARY KEY (`codigo`)

) TYPE=MyISAM;

#

# Extraindo dados da tabela 'sub_categoria'

#

INSERT INTO sub_categoria VALUES ( '1', '1', 'Star Trek');

INSERT INTO sub_categoria VALUES ( '2', '1', 'Jennie é um Genio');

INSERT INTO sub_categoria VALUES ( '3', '1', 'Profissão: Perigo');

INSERT INTO sub_categoria VALUES ( '4', '1', 'As Panteras');

INSERT INTO sub_categoria VALUES ( '5', '2', 'O Império Contra Ataca');

INSERT INTO sub_categoria VALUES ( '6', '2', 'Gladiador');

INSERT INTO sub_categoria VALUES ( '7', '2', 'Matrix');

INSERT INTO sub_categoria VALUES ( '8', '3', 'Super-Homem');

INSERT INTO sub_categoria VALUES ( '9', '3', 'Batman');

INSERT INTO sub_categoria VALUES ( '10', '3', 'Sandman');

INSERT INTO sub_categoria VALUES ( '11', '3', 'Lanterna-Verde');

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...