Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galera, estou com uma dúvida, criei uma página onde o usuário pode efetuar buscas por filmes, e relaciona-los com atores, o procedimento usado é buscar o filme, selecionar o filme, enviar para a lista de filmes relacionados e clicar em Relacionar, tudo funciona perfeitamente porém quando é incluido no banco de dados ao invés dele gravar os ids de diversos filmes quando selecionado mais de um filme ele grava somente um id, se eu deixo o botão como submit e mando para a página de gravação rola normalmente.
Vejam o código:
relacionamento.asp
<HTML><HEAD><TITLE>WIS</TITLE><!--#INCLUDE FILE="../INCLUDES/ESTILO_LINKS.ASP"--><!--#INCLUDE FILE="../INCLUDES/ABRE_CONEXAO.ASP"--><link href="../includes/estilo.css" rel="stylesheet" type="text/css"><script type="text/javascript">var xmlHttp;function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); }}function startRequest() { createXMLHttpRequest(); xmlHttp.onreadystatechange = handleStateChange; xmlHttp.open("get", "busca_filmes.asp?titulo_portugues=" + document.getElementById('titulo_portugues').value, true); xmlHttp.send(null);}function handleStateChange() { if(xmlHttp.readyState == 4) { if(xmlHttp.status == 200) { document.getElementById("filmesencontrados").innerHTML = xmlHttp.responseText; } }}function relacionar() { createXMLHttpRequest(); xmlHttp.open("get", "relacionamento_grava.asp?filmes_relacionados=" + document.getElementById('filmes_relacionados').value + "&id_ator=" + document.getElementById('id_ator').value, true); xmlHttp.onreadystatechange = HttpResponse; xmlHttp.send(null);}function HttpResponse() { if(xmlHttp.readyState == 1) { document.getElementById("targetDiv").innerHTML = "relacionando aguarde..."; } if (xmlHttp.readyState == 4 && xmlHttp.status == 200) { document.getElementById("resultado").innerHTML = xmlHttp.responseText; document.getElementById("targetDiv").innerHTML = ""; }}</script><script language="javascript">function adicionaItem(campoOrig,campoDest){ x = campoOrig.value; if (x == "") { alert('Selecione um item!'); } ListaDisponiveis = campoOrig; ListaAcordo = campoDest; var len = ListaAcordo.length; for(var i = 0; i < ListaDisponiveis.length; i++) { if ((ListaDisponiveis.options[i] != null) && (ListaDisponiveis.options[i].selected)) { ListaAcordo.options[len] = new Option(ListaDisponiveis.options[i].text, ListaDisponiveis.options[i].value); len++; ListaDisponiveis.options[i] = null; i--; } }}</script></HEAD><BODY BGCOLOR="#FFFFFF" MARGINWIDTH="0" MARGINHEIGHT="0" LEFTMARGIN="0" TOPMARGIN="0"><BR><BR><FORM ACTION="relacionamento_grava.asp" METHOD="POST" NAME="formulario"><INPUT TYPE="HIDDEN" NAME="id_ator" VALUE="100"> <TABLE CELLSPACING="4" CELLPADDING="0" BORDER="1" BORDERCOLOR="#F0F0F0" ALIGN="CENTER" WIDTH="450"> <TR> <TD BGCOLOR="#F0F0F0" HEIGHT="25" CLASS="FORMATO2" ALIGN="CENTER">Relacionamento de filmes e atores</TD> </TR> <TR> <TD> <TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0" BORDER="0"> <TR> <TD ALIGN="LEFT"> <TABLE WIDTH="100%" ALIGN="LEFT"> <TR> <TD CLASS="FORMATO2" ALIGN="RIGHT">Busca de filmes:</TD> <tD><INPUT TYPE="TEXT" NAME="titulo_portugues" SIZE="30" CLASS="FORM" MAXLENGTH="40"> <input type="button" value="Encontrar" class="btns" onmouseover="this.className='btnsOvr'" onmouseout="this.className='btns'" onclick="startRequest();"></TD> </TR> </TABLE> </TD> </TR> <TR> <TD><BR> <TABLE BORDER="1" WIDTH="100%" CELLSPACING="0" CELLPADDING="2" BORDERCOLOR="#F0F0F0"> <TR> <TD ALIGN="CENTER" CLASS="FORMATO2" VALIGN="MIDDLE">Ator <IMG SRC="IMAGES/SETA_BAIXO.GIF" BORDER="0"></TD> <TD ALIGN="CENTER" CLASS="FORMATO2" VALIGN="MIDDLE">Filmes encontrados <IMG SRC="IMAGES/SETA_BAIXO.GIF" BORDER="0"></TD> <TD> </TD> <TD ALIGN="CENTER" CLASS="FORMATO2" VALIGN="MIDDLE">Filmes Relacionados <IMG SRC="IMAGES/SETA_BAIXO.GIF" BORDER="0"></TD> </TR> <TR> <TD CLASS="FORMATO2" ALIGN="CENTER" VALIGN="MIDDLE"> Keanu Reeves</TD> <TD> <!-- LOOP DE FILMES ENCONTRADOS DE ACORDO COM A BUSCA --> <DIV ID="filmesencontrados"> </DIV> <!-- LOOP DE FILMES ENCONTRADOS DE ACORDO COM A BUSCA --> </TD> <TD ALIGN="CENTER"><INPUT onClick="adicionaItem(formulario.filmes_relacionados,formulario.filmes_encontrados);" TYPE="BUTTON" class="btns" onmouseover="this.className='btnsOvr'" onmouseout="this.className='btns'" VALUE="<=="><br><br><INPUT onClick="adicionaItem(formulario.filmes_encontrados,formulario.filmes_relacionados);" class="btns" onmouseover="this.className='btnsOvr'" onmouseout="this.className='btns'" TYPE="BUTTON" VALUE="==>"></TD> <TD ALIGN="CENTER"> <DIV ID="filmesrelacionados"> <SELECT NAME="filmes_relacionados" CLASS="FTEXTO" MULTIPLE SIZE="10"> </SELECT> </DIV> </TD> </TR> <tR> <TD ALIGN="CENTER" COLSPAN="3" CLASS="FORMATO2"><DIV ID="targetDiv"></DIV><DIV ID="resultado"><FONT COLOR="GREEN"><%if Request("ok") = "1" then%><B>Filme(s) relacionado(s) com sucesso !!</B><%End If%></FONT></DIV></TD> <TD ALIGN="RIGHT"><BR><input type="submit" value="Relacionar >>" class="btns" onmouseover="this.className='btnsOvr'" onmouseout="this.className='btns'"> <BR><BR></TD> </TR> </TABLE> </TD> </TR> </TABLE> </TD> </TR> </TABLE></FORM></BODY></HTML>
busca_filmes.asp
<%If Session("logado") = false then response.redirect("sair.asp")End If%><!--#include file="../includes/funcoes.asp"--><link href="../includes/estilo.css" rel="stylesheet" type="text/css"><% Response.Charset="ISO-8859-1" %> <SELECT NAME="filmes_encontrados" CLASS="FTEXTO" MULTIPLE SIZE="10" WIDTH="100"> <% Session("busca") = remove_quotes(request("titulo_portugues")) varbusca = Session("busca") arr= split(varbusca,",") for x = 0 to ubound(arr) if x =0 then varsql = " (titulo_portugues) like '%" & (arr(x)) & "%' or (titulo_original) like '%" & (arr(x)) & "%' " else varsql = varsql & "or (titulo_portugues) like '%" & (arr(x)) & "%' or (titulo_original) like '%" & (arr(x)) & "%' " end if next Set RSListaFilmes = Server.CreateObject("AdoDB.Recordset") RSListaFilmes.open "Select controle, titulo_portugues from TB_Filmes WHERE ("& varsql &") order by titulo_portugues", conexaoSQL while not RSListaFilmes.EOF id = RSListaFilmes.Fields("controle") titulo_portugues = RSListaFilmes.Fields("titulo_portugues") %> <OPTION VALUE="<%Response.Write id%>"><%Response.WRite titulo_portugues%> <% RSListaFilmes.movenext wend RSListaFilmes.close set RSListaFilmes = nothing ConexaoSQL.Close SEt ConexaoSQL = Nothing function remove_quotes(texto) texto = replace(texto,"'","''") remove_quotes = texto end function %> </SELECT>
relacionamento_grava.asp
<%If Session("logado") = false then response.redirect("sair.asp")End If%><!--#include file="../includes/funcoes.asp"--><%id_ator = Remove_Quotes(Request("id_ator"))filmes_relacionados = Remove_Quotes(Request("filmes_relacionados"))if id_ator <> "" and filmes_relacionados <> "" thenFor i = 1 To Int(UBound(Split(filmes_relacionados, ",")) + 1) With Responsefilmes_separados = (Split(filmes_relacionados,",")(i-1)) sql = "insert TB_Filme_Ator(id_ator, id_filme) values(" sql = sql & "'" & id_ator & "', " sql = sql & "'" & filmes_separados & "')" conexaoSQL.execute sqlEnd WithNextEnd IfConexaoSQL.CloseSet ConexaoSQL = NothingResponse.Redirect("relacionamento.asp?ok=1")%>
A forma acima esta mandando para página relacoinamento_grava.asp como submit no botão ao invés de button com onclick para funcao relacionar....
Não sei se fui claro, se alguém souber me dizer onde estou errando...
WebFuture
Carregando comentários...