Ir para conteúdo

POWERED BY:

Arquivado

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

FaustiniJr

Flash + AJAX + BD

Recommended Posts

Galera, estou tentando fazer um flash que ao clicar em um estado, me exibe uma lista com meus clietes referente ao estado clicado, estou usando flash com AS 2.0, pág ASP com JS e SQL como bd. O erro acontece na função mostrarEstados.js, na seguinte linha: texto=unescape(texto); Está dando erro de syntax... mas desconheço o erro.

 

//cod no flash

//vEstados = "SP,PR,PE";
function tEstado(estado) {
   var my_color1:Color = new Color(estado);
   my_color1.setRGB(0xF7D137);
   eval(estado).onRollOver = function() {
      var my_color2:Color = new Color(this);
      my_color2.setRGB(0xE3C035);
   };
   eval(estado).onRollOut = function() {
      var my_color3:Color = new Color(this);
      my_color3.setRGB(0xF7D137);
   };
   eval(estado).onRelease = function() {
      getURL("javascript:mostraEstados('"+estado+"');");
   };
}
var my_array:Array = vEstados.split(",");
//trace(my_array[0]);
for (var i = 0; i<my_array.length; i++) {
   tEstado(my_array[i]);
}

//cod no site default.asp

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Clientes Playlist</title>
</head>
<script type="text/javascript" src="mostraEstados.js"></script>

<body>

<!-- Função que consulta os estados no BD -->
<%
//Definindo as variaveis que serão utilizadas no código
dim host, usuario, senha, banco, cn, sql, rs

//Dados de acesso ao BD
host	="sql.playlist.com.br"
usuario	="enquete"
senha	="******"
banco	="EnquetesSite"

//String de conexão 
cn="ODBC;DSN=SQL;Driver=SQL Server;Server=Servidor;uid=enquete;pwd=******;database=EnquetesSite"

//O que será consultado no BD
set rs = bd.execute(sql)
sql = "SELECT DISTINCT estado FROM clientes"

//Executa a consulta ao BD
rs.Open sql, cn

//Percorre a tabela selecionando os estados e enviando para lista_cliente.asp
i = 0
if not rs.eof then 
   do until rs.eof
   i = i + 1
   if i <> 1 then
      estado = estado & "," & rs("estado")
   else
      estado = estado & rs("estado")
   end if
   rs.movenext
   loop 
end if
%>
<table width="882" border="1">
  <tr>
    <th width="710" scope="col"><script language="JavaScript" type="text/javascript">
	AC_FL_RunContent(
		'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
		'width', '550',
		'height', '400',
		'src', 'geomap',
		'quality', 'high',
		'pluginspage', 'http://www.adobe.com/go/getflashplayer',
		'align', 'middle',
		'play', 'true',
		'loop', 'true',
		'scale', 'showall',
		'wmode', 'window',
		'devicefont', 'false',
		'id', 'geomap',
		'bgcolor', '#ffffff',
		'name', 'geomap',
		'menu', 'true',
		'allowFullScreen', 'false',
		'allowScriptAccess','sameDomain',
		'movie', 'geomap',
		'salign', ''
		); //end AC code
    </script>
      <noscript>
      <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="710" height="500" id="mapa_brasileiro" align="middle">
        <param name="allowScriptAccess" value="sameDomain" />
        <param name="allowFullScreen" value="false" />
        <param name="FlashVars" value="vEstados=<%=estado%>" />
        <param name="movie" value="geomap.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#ffffff" />
        <embed src="geomap.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="geomap" align="middle" allowscriptaccess="sameDomain" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />      
</object>
    </noscript></th>
    <div id="divRepre">
    <th width="156" scope="col"><iframe id="lista" src="lista_cliente.asp" style="width:323px; height: 500px;" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"> </iframe></th>
    </div>
  </tr>
</table>
<p>  </p>
</head>
<body bgcolor="#ffffff">
</body>
</html>

//cod da função onde acontece o erro

try{
   xmlhttp = new XMLHttpRequest();
}catch(ee){
   try{
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
   }catch(e){
      try{
         xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      }catch(E){
        xmlhttp = false;
      }
   }
}
function fxmlhttp(xmlhttp,conteudo) {
   xmlhttp.onreadystatechange=function() {
      if (xmlhttp.readyState==4){
         var texto=xmlhttp.responseText;
         texto=texto.replace(//g," ")
         texto=unescape(texto);
         conteudo.innerHTML = texto;
      } 
   }
   xmlhttp.send(null)
}
function mostraEstados(oestado) {
   var conteudo=document.getElementById("divRepre");
   xmlhttp.open("GET", "lista_cliente.asp?estado="+oestado,true);
   fxmlhttp(xmlhttp,conteudo);
}

//cod em lista.asp

<%@LANGUAGE="JAVASCRIPT" CODEPAGE="65001"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>

<!-- Função que consulta e exibe os clientes/estado na tela -->
<%
//Definindo as variáveis que serão usadas no código
dim host, usuario, senha, banco, cn, rs, sql

//Dados de acesso ao BD
host	="sql.playlist.com.br"
usuario	="enquete"
senha	="******"
banco	="EnquetesSite"

//String de conexão 
cn="ODBC;DSN=SQL;Driver=SQL Server;Server=Servidor;uid=enquete;pwd=******;database=EnquetesSite"

//O que será consultado no BD
set rs = bd.execute(sql)
sql = "SELECT * FROM clientes WHERE estado="&Request("estado")

//Executa a Consulta
rs.Open sql, cn
%> 

</body>
</html>

Espero que alguém possa me ajudar... grato pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... esse erro, já descobri, era na linha

 

texto=texto.replace(//g," ")

 

que teve de ser modificada para

 

texto=texto.replace(/\+/g," ")

 

Agora dá um novo erro, que desconheço mais ainda:

 

Erro de tempo de execução do Microsoft VBScript erro '800a01a8'

 

Objeto necessário: ''

 

/geomap/default.asp, line 26

 

Nessa linha tem o seguinte conteudo:

 

//O que será consultado no BD
set rs = bd.execute(sql)
sql = "SELECT DISTINCT estado FROM clientes"

Compartilhar este post


Link para o post
Compartilhar em outros sites

ainda assim continua com o mesmo erro...

 

Erro de tempo de execução do Microsoft VBScript erro '800a01a8'

 

Objeto necessário: ''

 

/geomap/default.asp, line 26

Compartilhar este post


Link para o post
Compartilhar em outros sites

??? seria ou esta?

 

mesmo assim, colocando

 

//O que será consultado no BD

sql = "SELECT DISTINCT estado FROM clientes"

set rs = bd.execute(sql)

 

da o mesmo resultado...

 

bom... só se estou instanciando errado... como deveria ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

//Dados de acesso ao BD

host ="sql.playlist.com.br"

usuario ="enquete"

senha ="******"

banco ="EnquetesSite"

 

//String de conexão

Set Conexao = Server.CreateObject("Adodb.Connection")

Conexao.ConnectionString = "ODBC;DSN=SQL;Driver=SQL Server;Server="&host&";uid="&usuario&";pwd="&senha&";database="&banco&""

Conexao.Open

 

set rs = Conexao.execute("SELECT DISTINCT estado FROM clientes")

Compartilhar este post


Link para o post
Compartilhar em outros sites

estava fazendo errado, agora até melhorou um pouco o resultado, pelo menos mostra a tabela, mas não mostra o flash e na área que separei para aparecer a lista, dá o seguinte erro:

 

Erro de compilação do Microsoft JScript erro '800a03ec'

 

';' esperado

 

/geomap/lista_cliente.asp, line 18

 

set conexao = Server.CreateObject("Adodb.Connection")

----^

 

Essa linha, tem o seguinte conteúdo:

17. //String de conexão

18. set conexao = Server.CreateObject("Adodb.Connection")

19. conexao.ConnectionString = "ODBC;DSN=SQL;Driver=SQL Server;Server="&host&";uid="&usuario&";pwd="&senha&";database="&banco&""

20. conexao.Open

 

é cada erro esquisito que me aparece... bom, não sei se é algum detalhe importante, mas estou trabalhando com servidor local, teria alguma diferença no código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é impressionante, mas continua com o mesmo erro... tirei todos os comentários e mesmo assim tbm não funcionou.. entendi que o erro poderia estar no String no comentário, mas não é ele.. to ficando doido com esse trem ja... kkk

 

o erro é o mesmo, só mudou para a linha anterior agora.. ao inves de ser linha 18, agora é 17

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando eu insiro a linha

 

dim host , usuario , senha , banco , conexao , rs

 

ele da o mesmo erro, só que referente a essa linha adicionada... parece que o codigo viciou com o erro... rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

me falaram que tenho que modificar o seguinte codigo para o javascript:

 

i = 0

if not rs.eof then

do until rs.eof

i = i + 1

if i <> 1 then

estados = estados & "," & rs("estado")

else

estados = estados & rs("estado")

end if

rs.movenext

loop

end if

 

como ficaria o codigo em javascript? grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

ao inves de converter pq naun usa o @LANGUAGE=VBSCRIPT

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom xanburzum... fiz isso, mas eu to impressionado com a quantidade de erros que vem dando... ou eu que to muito ruim no asp assim?

deu o seguinte erro agora:

 

Erro de compilação do Microsoft VBScript erro '800a0409'

 

Constante de seqüência não finalizada

 

/geomap/lista_cliente.asp, line 22

 

set rs = conexao.execute("SELECT * FROM clientes WHERE estado="&Request("estado")")

-----------------------------------------------------------------------------------^

Compartilhar este post


Link para o post
Compartilhar em outros sites

na anterior tava sobrando uma aspa dupla, se o campo for texto mesmo a que o jonh passou resolverá este erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa... agora não deu erro nenhum quanto a programação, mas infelizmente não apareceu nem o meu flash, será porque?

 

Obrigado a todos que se dispuseram a me ajudar, não sei se existe esse script pronto, mas creio que não, se não teria usado sem problemas, mas assim que tudo der certinho, vou disponibilizar para quem quiser utilizar como um modo de aprender ou mesmo para usar em sua empresa.

 

mais uma vez.. Grato a todos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique no código fonte HTML se o erro não está aparecendo nele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. não deu nada aqui. Já tem duas semanas que estou com isso na mão e não consigo terminar. Os arquivos são só esses mesmos, tirando o sql. E não consigo ver onde está o erro. O Flash não aparecer por nada...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa... tentei testar a listagem de clientes por estado, com o seguinte endereço >> http://www.playlist.ddns.com.br:8080/geomap/lista_cliente.asp?estado=MG,true (que seria exibido caso fosse clicado em cime do estado de MG) e não deu nada.. ou seja, certamente meu código não consegue conectar com o servidor... estou testando outras possibilidades, mas por enquanto, nada...

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.