..:: MX Studio Fóruns ::..: UPDATE com vários campos e vários registros (ASP) - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

UPDATE com vários campos e vários registros (ASP)

#1 User is offline   Helinho Coelho 

  • Group: Membros
  • Posts: 3
  • Joined: 28-May 11

Posted 22 July 2011 - 05:19 AM

Boa noite,

Estou apelando para este post porque já fiquei mais de 9 horas lendo, pesquisando e tentando montar um UPDATE MySQL em ASP para múltiplos registros com três campos cada. O mais perto que cheguei (pelo dúvidas frequentes do fórum) foi através do código abaixo.


Bom, eu tenho uma tabela "fotos" com os campos: id, titulo e sessao. Tenho duas páginas ASP: uma com o formulário que contém a tabela com todos os registros listados e outra que faz o update no MySQL a partir dos dados deste formulário.

1) fotos_listar.asp

<form name="formulario" method="post" action="fotos_editar.asp">

<% While Not RS.EOF ...%>
(...)

<input name="titulo_<%=(RSgaleria.Fields.Item("id").Value)%>" type="text" value="<%=(RSgaleria.Fields.Item("titulo").Value)%>" />
<input name="sessao_<%=(RSgaleria.Fields.Item("id").Value)%>" type="text" value="<%=(RSgaleria.Fields.Item("sessao").Value)%>" />

<input name="botao" type="submit" value="Atualizar todos os dados!" />

(...)
<% Whend ...%>

</form>



Obs: Na página acima ela me retorna perfeitamente uma tabela aparecendo todos os registros listados com seus respectivos campos (até aí tudo bem!). O problema está na próxima página! (acredito eu)




2) fotos_editar.asp
<!--#include file="inc_conexao.asp" -->
<%
Dim i
For i = 1 to Request.Form.Count

SQL1 = "SELECT * FROM fotos WHERE id= " &i
Set RSfotos = conexao.Execute(SQL1)

titulo = Int(Request("titulo"&i))
sessao = Int(Request("sessao"&i))
id = i

SQL2 = "UPDATE fotos SET titulo = '"&titulo&"', sessao = '"&sessao&"' " &_
" WHERE id = " & id
conexao.Execute SQL2
Next

conexao.close
Set RSfotos = Nothing


Response.Redirect("update_ok.asp")
%>




Obs: O UPDATE é realizado, porém com todos os valores em zero. Ou seja, é feito o update mas todos os registros e todos os campos ficam com o valor "0" inserido. Bom, isso foi o mais perto que "acho" ter chegado!



No mais agradeço a atenção!



=]
0

#2 User is offline   Helinho Coelho 

  • Group: Membros
  • Posts: 3
  • Joined: 28-May 11

Posted 23 July 2011 - 02:24 AM

ENCONTREI A SOLUÇÃO COM O "LeoB" PARA A QUESTÃO ABERTA NESTE POST (testada e funcionando perfeitamente):


Bom, então abaixo segue o código de como ficou a solução para UPDATE de vários registros e com vários campos (by LeoB):

1) página fotos_listar.asp
<form id="formulario" name="formulario" method="post" action="fotos_atualizar.asp">

<% While Not RSfotos.EOF) %>

<img src="galeria/<%RSfotos.Fields.Item("foto").Value)%>" width="90" height="90" />
<input name="titulo<%=(RSfotos.Fields.Item("id").Value)%>" type="text" value="<%=(RSfotos.Fields.Item("titulo").Value)%>" />
<select name="sessao<%=(RSfotos.Fields.Item("id").Value)%>" value="<%=(RSsessao.Fields.Item("sessao_fotos").Value)%>"</select>

<%
RSfotos.MoveNext()
Wend
%>

<input name="botao" type="submit" value="Atualizar todos os dados!" />

</form>



2) página fotos_atualizar.asp
<!--#include file="inc_conexao.asp" -->
<%
Set RSfotos = conexao.Execute("SELECT id FROM fotos")

While Not RSfotos.EOF
   id = RSfotos("id")

   titulo = Request("titulo" & id)
   sessao = Request("sessao" & id)

   conexao.Execute "UPDATE fotos SET titulo = '"&titulo&"', sessao = '"&sessao&"' " &_
   " WHERE id = " &id

   RSfotos.MoveNext
Wend

conexao.close
Set RSfotos = Nothing

Response.Redirect("update_ok.asp")
%>



Até a próxima!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)