Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hermeson

dropdown function

Recommended Posts

Aeee galera,Ja busquei em todo lugar, como faço para ter um combo e qdo escolher uma opçao, o combo seguinte atualize para os dados que se relacione como aquela opçao, por exemplo:tenho 2 combos:1) PaisesBrasilEspanhaInglaterra2)Estadosdependendo do pais selecionado, sairá o estado daquele pais...eu sei fazer isso em ASP, mas n consigo fazer o mesmo em PHP,alguem pode me ajudar...valeu....

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você quizer dah pra gente te ajudar, mas mesmo assim eu acho q o mais indicado seria fazer isso soh com javascript... (na minha opinião)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O pessoal insistem em confundir ql a diferenca entre uma linguagem server-side e client-side.JavaScript (client-side) o script é executado via browser do USUARIO, ou seja, o servidor n tem funcao alguma, por isso da necessidade de criar scripts em javascript para varios navegadores, pois a linguagem se atualiza conforme o browser.PHP ASP CFM e etc (server-side) o script é executado no SERVIDOR e enviado ao navegador algo que ele interprete, HTML JAVASCRIPT CSS.Portanto, se a aplicacao que voce deseja n tiver que enviar dados, necessite de refresh e afins, use JAVASCRIPT, caso contrario manipulacao de dados, linggem dinamica é o melhor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Camarada....achei esse script no phpbrasil....ve se serve pra você

 

<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", "root", "");

$seleciona_db=mysql_select_db("combo", $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 item "Qualquer", também com #

# valor '0'. #

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

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

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

echo mysql_error();

$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ém temos itens a ser observador, 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);

echo mysql_error();

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>

 

[]'s

 

Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

aeee galera... valeu pela ajuda de todos... mas ainda n consigo fazer o que necessito.Coloquei o exemplo que fiz, mas me esta dando error... alguem podia dizer onde esta o error? esse exemplo foi extraido de um modelo do Wallace.obrigado se alguem pode me ajudar....#####################################################<?php require_once('conecta.php'); require_once('function.php'); ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Untitled Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><script>function callpage(form){ var escolha=form.produto.value+form.fabricante.value window.location.href = "inctestdrop.php?modelo="+form.produto.value+form.fabricante.value}</script></head><body><form name="form1" method="post" action=""> <table width="200" border="0"> <tr> <td>Produto</td> <td><select name="produto"> <option value="0">Selecionar</option> <?php $consulta = "SELECT * FROM produto"; $resultado = mysql_query($consulta, $conn); $num = mysql_num_rows($resultado); for($i=0;$i<$num;$i++) { $codprod = mysql_result($resultado,$i,"id"); $descprod = mysql_result($resultado,$i,"descprod"); //se turma lida eh igual a turma escolhida anteriomente, //seta como selecionada no menu. if($codprod==$descprod) { echo "<option selected value=$codprod>$descprod</option>"; } else { echo "<option value=$codigo>$descprod</option>"; } } ?> </select></td> </tr> <tr> <td>Fabricante</td> <td><select name="fabricante" onChange="callpage(this.form)"> <option value="0">Selecionar</option> <?php $consulta = "SELECT * FROM fabricante"; $resultado = mysql_query($consulta, $conn); $num = mysql_num_rows($resultado); for($i=0;$i<$num;$i++) { $codfab = mysql_result($resultado,$i,"id"); $descfab = mysql_result($resultado,$i,"descfab"); //se turma lida eh igual a turma escolhida anteriomente, //seta como selecionada no menu. if($codfab==$descfab) { echo "<option selected value=$codfab>$descfab</option>"; } else { echo "<option value=$codfab>$descfab</option>"; } } ?> </select></td> </tr> <tr> <td>Modelo</td> <td><select name="modelo" onChange="callpage(this.form)"> <option value="0">Selecionar</option> <?php if($descprod!=NULL) { //mostra alunos referentes a turma selecionada anteriormente $consulta = "SELECT * FROM modelo WHERE idfab = '$codfab' and idprod = '$codprod'"; $resultado = mysql_query($consulta, $conn); $num = mysql_num_rows($resultado); for($i=0;$i<$num;$i++) { $codmod = mysql_result($resultado,$i,"id"); $descmod = mysql_result($resultado,$i,"descmod"); echo "<option value=$codmod>$descmod</option>"; } } ?> </select></td> </tr> </table></form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.