Jump to content
Fórum Script Brasil
  • 0

Combobox Alterado Baseado Na Escolha De Outra Caix


Guest - PHP -
 Share

Question

Guest - PHP -

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

5 answers to this question

Recommended Posts

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

  • 0
Guest - PHP -

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

Link to comment
Share on other sites

  • 0
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?

Na concorrência ?

Poste o script!

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

  • 0
Guest - PHP -

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 ([email protected]), #

# 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 ([email protected]) #

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

-->

<!--

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

# 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 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.

 Share



  • Forum Statistics

    • Total Topics
      150.8k
    • Total Posts
      648.5k
×
×
  • Create New...