Ir para conteúdo

POWERED BY:

Arquivado

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

DOM

Combobox dinâmica

Recommended Posts

Eu sei vocês devem ser muito ocupados, mas eu não sei mas o que faço para solucionar esse problema.Eu tenho duas combox que puxam seus valores de um banco de dados. Uma puxa de uma tabela chamada Artista, onde aparecera todos os artista cadastrado, outra combox puxa os valores de uma tabela chamada Albúm, que mostra todos os albúns cadastrados. Eu gostaria de na segunda combox só aparecesse os albúns do artista selecionado acima tipo assim:Na primeira combox eu selecionei a Banda Titãs eu só queira que aparecesse os albúns do titãs e não todos cadastrados.Me ajude por favor, eu só iniciante em programação então se você puder me passar tudo meio explicado eu agradeceria.Ps: Estou usando ASP e meu banco de dados é MYSQLObrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa cara nunca eu iria entender a sua resposta como uma coisa agressiva, aliás foi bem construtiva para mim só assim tentei colocar a mão na massa e parece que estou no caminho certo, mas surgiu uma dúvida, tipo eu vou ter duas páginas efetuando quase a mesma coisa só que utilizando tabelas diferentes, e como eu faço com REMOTE.ASP, crio dois? Obrigado amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe mas o código está dando erro interno quando tento executa-ló, olha como eu coloquei ele:

REMOTE.ASP

<%<!--#include file="Conexao.asp"-->SQL = "SELECT DISTINCT Estado FROM Tabela WHERE [artista] = "+request.querystring("artista")+ " ORDER BY [album]"set rs = server.CreateObject("ADODB.Recordset")  rs.CursorType = 3rs.Open SQL1, dbConnrs.MoveFirst%><script>   loc = new Array(<%=rs.recordcount%>)   for (i=0; i < <%=rs.recordcount%>; i++) {	   loc[i] = new Array(2)		 for (j=0; j < 2; j++) {		loc[i][j] = "0"			}	}<% j = 0   do while not rs.eof%>	loc[<%=j%>][0] = "<%=trim(rs("MsgCN"))%>";	loc[<%=j%>][1] = "<%=trim(rs("MsgCN"))%>";	<%	rs.movenext	j  = j  + 1   looprs.closeset rs = nothing'dbConn.closeset dbConn = nothing%>parent.inicia(); </script>
E o Script na página de cadastro:

<html><head><script>function carregar(){var url;url = 'remote.asp?Pais='+document.FrmCadEmpresa.cboPais[document.album.cod_art.selectedIndex].value;document.album.cod_alb.options.length = 0;addItem(document.album.cod_alb,"Aguarde...carregando","",false,document.album.cod_alb.length)myIframe.location = url;document.album.cod_alb.focus()}function inicia(){local1 = new Array();var maximo1, i, campo1;local1 = myIframe.loc;campo1 = document.album.cod_alb;maximo1 = local1.length;document.album.cod_alb.options.length = 0;addItem(campo1,'TODAS','',false,campo1.length);for (i=0;i<maximo1;i++){  addItem(campo1,local1[i][1],local1[i][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[i] = Array(obj.options[i].text,obj.options[i].value); 		  for(i=intPos+1;i<Len;i++) 			   obj.options[i] = 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></head><%   'vamos verificar se foi setado para salvar   if request("salvar") = "1" then	  'chama os procedimentos para verificar e validar os campos.	  'campos a ser verificados.	  'nome	  usuario= replace(request("cod_usu"),"","")	  banda= replace(request("cod_art"),"","")	  album= replace(request("cod_alb"),"","")	  nome= replace(request("musicas"),"","")	    			  if len(nome) < 0 then erro = erro & "- O nome da banda ou do artista esta muito curto, deve ser > 2 caracteres.<br>"' 	  	  'verifica se ja existe esse album	   set rs = conexao.execute("SELECT * FROM musica where cod_usu = " & cod_usu & " and nome = '" & nome & "' limit 0,1")	  	   if not rs.eof then		  erro = erro & "- Já existe um álbum com esse nome.<br>"	   end if	  	  'se nao der erro salva	  if len(erro) = 0 then		   conexao.execute("INSERT INTO album (cod_usu, cod_art, cod_alb, nome,) VALUES (" & cod_usu & ", " & banda & ", " & album & ", '" & nome & "')")		   response.redirect "index.asp?cod_usu=" &  cod_usu & "&action=pospost&msn_nome=Cadastro Banda/Artista&msn=Cadastro efetuado com sucesso...&passo=Cadastrar outra(o) banda/artista&passo=Cadastrar álbuns&link=" & Server.URLEncode("index.asp?cod_usu="& cod_usu & "&action=artista_cadastrar") & "&link=" & Server.URLEncode("index.asp?cod_usu=" & cod_usu &"&action=album_cadastrar_album")	  end if	  url = replace(url,"http://","")   end if%><form action="index.asp?action=album_cadastrar_album" method="post" name="album" id="album">  <table border="0" width="70%" cellspacing="0" cellpadding="0">	<%	if len(erro) > 1 then	%>	  <tr>		<td colspan="2">		  <p align="center"><b><font color="#FF0000" size="2" face="Verdana">E R R O</font> </b> </td>	  </tr>	  <tr>		<td colspan="2"><font color="#FF0000"><%= ERRO %><br>		  <br>		  </font></td>	  </tr>	  <%	  end if	  %>  <tr>	<td colspan="2"><br>	</td>  </tr>  <tr>	  <td colspan="2"><font face="Verdana" size="2"><img border="0" src="imagens/triangulo.gif"> 		<b>Cadastro de Música </b></font></td>  </tr>  <tr>	<td width="30%"></td>	<td width="70%"></td>  </tr>  <tr>	<td width="30%"> <font face="Verdana" size="2"> Banda ou Artista:</font> </td>	<td width="70%"><font face="Verdana" size="2"><SELECT NAME="CboPais" SIZE="0" CLASS="texto" onchange="carregar();">  <option>----Artista ou Banda-----</option>  <option value="<%=rs("CodPais")%>"><%=rs("Descricao")%></option>		  <%   Dim Pais  Dim CodPais  set rs = conexao.execute("SELECT * FROM `artistas` where cod_usu = '" & cod_usu & "' order by nome asc")  ExeDB(SQL)  Do Until Rs.EOF		   Pais = Rs("nome") 		   CodPais = Rs("cod_art")	 		  %>				   <%		   Rs.movenext  loop 				   %></SELECT></font>	</td>  </tr>  <tr>	<td width="30%"><font face="Verdana" size="2">Nome do álbum:</font> </td>	<td width="70%"><font face="Verdana" size="2"><span class="tabela2"><SELECT NAME="cod_alb" SIZE="0" CLASS="texto"></SELECT></span></font>	</td>  </tr>  <tr>	<td width="30%"><font face="Verdana" size="2">Músicas:</font></td>	<td width="70%"><p><font size="1">Favor separar cada nome por quebra de linha.<br>		  ex: música 1</font></p>	   <p>		<textarea name="musicas" cols="28" rows="8" id="musicas"><%= musicas %></textarea>	  </p>	  </td>  </tr>  <tr>	<td width="30%" valign="top"> </td>	<td width="70%"> </td>  </tr>  <tr>	<td width="30%" valign="top"> </td>	<td width="70%">	</td>  </tr>  <tr>	<td width="30%" valign="top"><br>	  <br> </td>	<td width="70%"> <table class="buttonborder">	<tr>	<td><input type="submit" value="Cadastrar ->" name="submit"></td>	</tr> </table>	</td>  </tr></table><input type="hidden" name="salvar" value="1"></form></html>
Mas não tem nada de errado testei, tenei trocar mas não da certo, set rs = conexao.execute("SELECT * FROM `artistas` where cod_usu = '" & cod_usu & "' order by nome eu coloquei esse select na local da primeira combox para ele selecionar só do usúario que está logado ai abaixo eu coloquei o código para localizar só os daquele artista na combox de baixo.

Só me fala se tem algo errado que eu mesmo vou concertar assim seria uma forma de eu aprender!!!

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.