Ir para conteúdo

POWERED BY:

Arquivado

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

appinheiro

cadastro de usuarios

Recommended Posts

Ola, comecei a programar em php a pouco tempo, e estou tendo bastante dificuldade em recuperar dados de um banco de dados mysql e exibilos na html. Gostaria de saber se alguem pode me ajudar na seguinte situação. Ao realizar um cadastro o usuario seleciona o estado(uf) num combo box e então gostaria de retornar as cidades cadastradas no banco que pertencem ao estado, porem em tempo real. Gostaria de saber se há como fazer com que na hora em que o usuario selecionar o estado, atualize uma outra combo box de cidades pertencentes ao estado. Se alguem puder ajudar, desde já agradeço. Um abraçoAlex..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se serve

 

<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

 

 

* Script retirado de www.phpbrasil.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem varias formas...1) Ao selecionar e o cara submeter o formulario, voce redireciona pra uma pagina contendo um select campos from tblcidades where estado='$nomedocampoestadodapaginaanterior'2) Ao selecionar voce já joga num outro select via javascript sem atualizar a pagina (as cidades têem que ser pre-definidas)3) Ao selecionar você atualiza a pagina com o estado, faz a mesma consulta da pagina 1 e joga noutro select4) Minha particular é ao lado do select cria um iframe com tamanho pra encaixar o select das cidades e ao cara escolher a cidade usa javascript pra passar o estado pro iframe e usar o item 3)...caso voce escolha um desses me da um toque q eu vejo se eu desenrolo o codigo pra você.. flw

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.