Ir para conteúdo

POWERED BY:

Arquivado

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

FoX Borland

atualizar vários registros... kebrando a cabeça!!

Recommended Posts

beleza pessoal

 

estou tentando fazer pelo dreamweaver 8, alguma coisa que u posso atualizar vários registros de uma vez só...

exemplo

a pagina abaixo exibe 5 registros...

faiz de conta (hehehe) q eu alterei 4!!

mais a página do jeito q está, só vai alteira o primeiro q é exibido..... e os outros? nada!!!!

 

 

será q alguem ai se habilita a me ajudar?

 

a seleção é feita por checkbox

 

obrigado pela atenção

http://forum.imasters.com.br/public/style_emoticons/default/hug.gif

 

<%@LANGUAGE="VBSCRIPT"%><!--#include file="Connections/produtos.asp" --><%' *** Restrict Access To Page: Grant or deny access to this pageMM_authorizedUsers=""MM_authFailedURL="index.asp"MM_grantAccess=falseIf Session("MM_Username") <> "" Then  If (true Or CStr(Session("MM_UserAuthorization"))="") Or _		 (InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then	MM_grantAccess = true  End IfEnd IfIf Not MM_grantAccess Then  MM_qsChar = "?"  If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"  MM_referrer = Request.ServerVariables("URL")  if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()  MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)  Response.Redirect(MM_authFailedURL)End If%><%' *** Edit Operations: declare variablesDim MM_editActionDim MM_abortEditDim MM_editQueryDim MM_editCmdDim MM_editConnectionDim MM_editTableDim MM_editRedirectUrlDim MM_editColumnDim MM_recordIdDim MM_fieldsStrDim MM_columnsStrDim MM_fieldsDim MM_columnsDim MM_typeArrayDim MM_formValDim MM_delimDim MM_altValDim MM_emptyValDim MM_iMM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))If (Request.QueryString <> "") Then  MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)End If' boolean to abort record editMM_abortEdit = false' query string to executeMM_editQuery = ""%><%' *** Update Record: set variablesIf (CStr(Request("MM_update")) = "form1" And CStr(Request("MM_recordId")) <> "") Then  MM_editConnection = MM_produtos_STRING  MM_editTable = "produtos"  MM_editColumn = "idproduto"  MM_recordId = "" + Request.Form("MM_recordId") + ""  MM_editRedirectUrl = "produtos_edit_ok.html"  MM_fieldsStr  = "select|value|nome|value|detalhes|value|preco|value|parcelas|value|valor_parcela|value|status|value"  MM_columnsStr = "idcategoria|',none,''|nome|',none,''|detalhes|',none,''|preco|',none,''|parcelas|',none,''|valor_parcela|',none,''|status|none,Yes,No"  ' create the MM_fields and MM_columns arrays  MM_fields = Split(MM_fieldsStr, "|")  MM_columns = Split(MM_columnsStr, "|")    ' set the form values  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2	MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))  Next  ' append the query string to the redirect URL  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then	If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then	  MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString	Else	  MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString	End If  End IfEnd If%><%' *** Update Record: construct a sql update statement and execute itIf (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then  ' create the sql update statement  MM_editQuery = "update " & MM_editTable & " set "  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2	MM_formVal = MM_fields(MM_i+1)	MM_typeArray = Split(MM_columns(MM_i+1),",")	MM_delim = MM_typeArray(0)	If (MM_delim = "none") Then MM_delim = ""	MM_altVal = MM_typeArray(1)	If (MM_altVal = "none") Then MM_altVal = ""	MM_emptyVal = MM_typeArray(2)	If (MM_emptyVal = "none") Then MM_emptyVal = ""	If (MM_formVal = "") Then	  MM_formVal = MM_emptyVal	Else	  If (MM_altVal <> "") Then		MM_formVal = MM_altVal	  ElseIf (MM_delim = "'") Then  ' escape quotes		MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"	  Else		MM_formVal = MM_delim + MM_formVal + MM_delim	  End If	End If	If (MM_i <> LBound(MM_fields)) Then	  MM_editQuery = MM_editQuery & ","	End If	MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal  Next  MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId  If (Not MM_abortEdit) Then	' execute the update	Set MM_editCmd = Server.CreateObject("ADODB.Command")	MM_editCmd.ActiveConnection = MM_editConnection	MM_editCmd.CommandText = MM_editQuery	MM_editCmd.Execute	MM_editCmd.ActiveConnection.Close	If (MM_editRedirectUrl <> "") Then	  Response.Redirect(MM_editRedirectUrl)	End If  End IfEnd If%><%Dim produtos__MMColParamprodutos__MMColParam = "1"If (Request.QueryString("idcategoria") <> "") Then   produtos__MMColParam = Request.QueryString("idcategoria")End If%><%Dim produtosDim produtos_numRowsSet produtos = Server.CreateObject("ADODB.Recordset")produtos.ActiveConnection = MM_produtos_STRINGprodutos.Source = "SELECT * FROM produtos WHERE idcategoria = '" + Replace(produtos__MMColParam, "'", "''") + "' AND status ORDER BY nome ASC"produtos.CursorType = 0produtos.CursorLocation = 2produtos.LockType = 1produtos.Open()produtos_numRows = 0%><%Dim categoriaDim categoria_numRowsSet categoria = Server.CreateObject("ADODB.Recordset")categoria.ActiveConnection = MM_produtos_STRINGcategoria.Source = "SELECT * FROM categorias WHERE idcategoria = '" + Replace(produtos__MMColParam, "'", "''") + "' ORDER BY desccategoria ASC"categoria.CursorType = 0categoria.CursorLocation = 2categoria.LockType = 1categoria.Open()categoria_numRows = 0%><%Dim Repeat1__numRowsDim Repeat1__indexRepeat1__numRows = 5Repeat1__index = 0produtos_numRows = produtos_numRows + Repeat1__numRows%><%'  *** Recordset Stats, Move To Record, and Go To Record: declare stats variables' set the record countprodutos_total = produtos.RecordCount' set the number of rows displayed on this pageIf (produtos_numRows < 0) Then  produtos_numRows = produtos_totalElseif (produtos_numRows = 0) Then  produtos_numRows = 1End If' set the first and last displayed recordprodutos_first = 1produtos_last  = produtos_first + produtos_numRows - 1' if we have the correct record count, check the other statsIf (produtos_total <> -1) Then  If (produtos_first > produtos_total) Then produtos_first = produtos_total  If (produtos_last > produtos_total) Then produtos_last = produtos_total  If (produtos_numRows > produtos_total) Then produtos_numRows = produtos_totalEnd If%><%' *** Recordset Stats: if we don't know the record count, manually count themIf (produtos_total = -1) Then  ' count the total records by iterating through the recordset  produtos_total=0  While (Not produtos.EOF)	produtos_total = produtos_total + 1	produtos.MoveNext  Wend  ' reset the cursor to the beginning  If (produtos.CursorType > 0) Then	produtos.MoveFirst  Else	produtos.Requery  End If  ' set the number of rows displayed on this page  If (produtos_numRows < 0 Or produtos_numRows > produtos_total) Then	produtos_numRows = produtos_total  End If  ' set the first and last displayed record  produtos_first = 1  produtos_last = produtos_first + produtos_numRows - 1  If (produtos_first > produtos_total) Then produtos_first = produtos_total  If (produtos_last > produtos_total) Then produtos_last = produtos_totalEnd If%><%' *** Move To Record and Go To Record: declare variablesSet MM_rs	= produtosMM_rsCount   = produtos_totalMM_size	  = produtos_numRowsMM_uniqueCol = ""MM_paramName = ""MM_offset = 0MM_atTotal = falseMM_paramIsDefined = falseIf (MM_paramName <> "") Then  MM_paramIsDefined = (Request.QueryString(MM_paramName) <> "")End If%><%' *** Move To Record: handle 'index' or 'offset' parameterif (Not MM_paramIsDefined And MM_rsCount <> 0) then  ' use index parameter if defined, otherwise use offset parameter  r = Request.QueryString("index")  If r = "" Then r = Request.QueryString("offset")  If r <> "" Then MM_offset = Int(r)  ' if we have a record count, check if we are past the end of the recordset  If (MM_rsCount <> -1) Then	If (MM_offset >= MM_rsCount Or MM_offset = -1) Then  ' past end or move last	  If ((MM_rsCount Mod MM_size) > 0) Then		 ' last page not a full repeat region		MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)	  Else		MM_offset = MM_rsCount - MM_size	  End If	End If  End If  ' move the cursor to the selected record  i = 0  While ((Not MM_rs.EOF) And (i < MM_offset Or MM_offset = -1))	MM_rs.MoveNext	i = i + 1  Wend  If (MM_rs.EOF) Then MM_offset = i  ' set MM_offset to the last possible recordEnd If%><%' *** Move To Record: if we dont know the record count, check the display rangeIf (MM_rsCount = -1) Then  ' walk to the end of the display range for this page  i = MM_offset  While (Not MM_rs.EOF And (MM_size < 0 Or i < MM_offset + MM_size))	MM_rs.MoveNext	i = i + 1  Wend  ' if we walked off the end of the recordset, set MM_rsCount and MM_size  If (MM_rs.EOF) Then	MM_rsCount = i	If (MM_size < 0 Or MM_size > MM_rsCount) Then MM_size = MM_rsCount  End If  ' if we walked off the end, set the offset based on page size  If (MM_rs.EOF And Not MM_paramIsDefined) Then	If (MM_offset > MM_rsCount - MM_size Or MM_offset = -1) Then	  If ((MM_rsCount Mod MM_size) > 0) Then		MM_offset = MM_rsCount - (MM_rsCount Mod MM_size)	  Else		MM_offset = MM_rsCount - MM_size	  End If	End If  End If  ' reset the cursor to the beginning  If (MM_rs.CursorType > 0) Then	MM_rs.MoveFirst  Else	MM_rs.Requery  End If  ' move the cursor to the selected record  i = 0  While (Not MM_rs.EOF And i < MM_offset)	MM_rs.MoveNext	i = i + 1  WendEnd If%><%' *** Move To Record: update recordset stats' set the first and last displayed recordprodutos_first = MM_offset + 1produtos_last  = MM_offset + MM_sizeIf (MM_rsCount <> -1) Then  If (produtos_first > MM_rsCount) Then produtos_first = MM_rsCount  If (produtos_last > MM_rsCount) Then produtos_last = MM_rsCountEnd If' set the boolean used by hide region to check if we are on the last recordMM_atTotal = (MM_rsCount <> -1 And MM_offset + MM_size >= MM_rsCount)%><%' *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters' create the list of parameters which should not be maintainedMM_removeList = "&index="If (MM_paramName <> "") Then MM_removeList = MM_removeList & "&" & MM_paramName & "="MM_keepURL="":MM_keepForm="":MM_keepBoth="":MM_keepNone=""' add the URL parameters to the MM_keepURL stringFor Each Item In Request.QueryString  NextItem = "&" & Item & "="  If (InStr(1,MM_removeList,NextItem,1) = 0) Then	MM_keepURL = MM_keepURL & NextItem & Server.URLencode(Request.QueryString(Item))  End IfNext' add the Form variables to the MM_keepForm stringFor Each Item In Request.Form  NextItem = "&" & Item & "="  If (InStr(1,MM_removeList,NextItem,1) = 0) Then	MM_keepForm = MM_keepForm & NextItem & Server.URLencode(Request.Form(Item))  End IfNext' create the Form + URL string and remove the intial '&' from each of the stringsMM_keepBoth = MM_keepURL & MM_keepFormif (MM_keepBoth <> "") Then MM_keepBoth = Right(MM_keepBoth, Len(MM_keepBoth) - 1)if (MM_keepURL <> "")  Then MM_keepURL  = Right(MM_keepURL, Len(MM_keepURL) - 1)if (MM_keepForm <> "") Then MM_keepForm = Right(MM_keepForm, Len(MM_keepForm) - 1)' a utility function used for adding additional parameters to these stringsFunction MM_joinChar(firstItem)  If (firstItem <> "") Then	MM_joinChar = "&"  Else	MM_joinChar = ""  End IfEnd Function%><%' *** Move To Record: set the strings for the first, last, next, and previous linksMM_keepMove = MM_keepBothMM_moveParam = "index"' if the page has a repeated region, remove 'offset' from the maintained parametersIf (MM_size > 0) Then  MM_moveParam = "offset"  If (MM_keepMove <> "") Then	params = Split(MM_keepMove, "&")	MM_keepMove = ""	For i = 0 To UBound(params)	  nextItem = Left(params(i), InStr(params(i),"=") - 1)	  If (StrComp(nextItem,MM_moveParam,1) <> 0) Then		MM_keepMove = MM_keepMove & "&" & params(i)	  End If	Next	If (MM_keepMove <> "") Then	  MM_keepMove = Right(MM_keepMove, Len(MM_keepMove) - 1)	End If  End IfEnd If' set the strings for the move to linksIf (MM_keepMove <> "") Then MM_keepMove = MM_keepMove & "&"urlStr = Request.ServerVariables("URL") & "?" & MM_keepMove & MM_moveParam & "="MM_moveFirst = urlStr & "0"MM_moveLast  = urlStr & "-1"MM_moveNext  = urlStr & Cstr(MM_offset + MM_size)prev = MM_offset - MM_sizeIf (prev < 0) Then prev = 0MM_movePrev  = urlStr & Cstr(prev)%><!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><title>Painel de Controle</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><style type="text/css"><!--@import url("css_painel.css");#layout2 {	position:absolute;	width:400px;	height:400px;	left:50%;	margin-left:-200px;	background-image:url(images/layout_20.gif);}--></style></head><body><div id="layout2">  <table width="400"  border="0" cellspacing="0" cellpadding="0">	<tr>	  <td width="30%"><img src="images/logo_valdar.jpg" width="194" height="48" /></td>	  <td><img src="images/logo_painel.gif" width="206" height="48" /></td>	</tr>	<tr>	  <td colspan="2"><table width="100%"  border="0" cellspacing="0" cellpadding="0">		  <tr>			<td width="11"><img src="images/spacer.gif" width="11" height="1" /></td>			<td bgcolor="#FDE38C"><table width="90%"  border="0" align="center" cellpadding="0" cellspacing="2">				<tr>				  <td><center class="style1">					  EDITAR PRODUTO					</center></td>				</tr>			  </table>			  <form ACTION="<%=MM_editAction%>" METHOD="POST" name="form1" id="form1">				<% While ((Repeat1__numRows <> 0) AND (NOT produtos.EOF)) %>				  <table width="90%"  border="0" align="center" cellpadding="0" cellspacing="2" bgcolor="#FEECAF">					<tr>					  <td><span class="style2">CATEGORIA</span></td>					  <td><span class="style2"><%=(produtos.Fields.Item("idcategoria").Value)%>						<select name="select" class="style2" title="<%=(categoria.Fields.Item("desccategoria").Value)%>">						  <%While (NOT categoria.EOF)%>						  <option value="<%=(categoria.Fields.Item("idcategoria").Value)%>"><%=(categoria.Fields.Item("desccategoria").Value)%></option>						  <%  categoria.MoveNext()WendIf (categoria.CursorType > 0) Then  categoria.MoveFirstElse  categoria.RequeryEnd If%>						</select>						</span></td>					</tr>					<tr>					  <td><span class="style2">NOME</span></td>					  <td><input name="nome" type="text" class="style2" id="nome" value="<%=(produtos.Fields.Item("nome").Value)%>" /></td>					</tr>					<tr>					  <td><span class="style2">DETALHES</span></td>					  <td><input name="detalhes" type="text" class="style2" id="detalhes" value="<%=(produtos.Fields.Item("detalhes").Value)%>" /></td>					</tr>					<tr>					  <td><span class="style2">PREÇO</span></td>					  <td><span class="style2">R$</span>						<input name="preco" type="text" class="style2" id="preco" value="<%=(produtos.Fields.Item("preco").Value)%>" size="8" /></td>					</tr>					<tr>					  <td><span class="style2">PARCELAS</span></td>					  <td><input name="parcelas" type="text" class="style2" id="parcelas" value="<%=(produtos.Fields.Item("parcelas").Value)%>" size="6" />						<span class="style2">x</span></td>					</tr>					<tr>					  <td><span class="style2">VALOR PARCELA</span></td>					  <td><span class="style2">R$</span>						<input name="valor_parcela" type="text" class="style2" id="valor_parcela" value="<%=(produtos.Fields.Item("valor_parcela").Value)%>" size="8" /></td>					</tr>					<tr>					  <td><span class="style2">ATIVO\INATIVO</span></td>					  <td><input name="status" type="checkbox" class="style2" id="status" value="checkbox" checked="checked" />						<span class="style3"><%=(produtos.Fields.Item("status").Value)%></span></td>					</tr>					<tr>					  <td colspan="2"><center>					  </center></td>					</tr>				  </table>				  <input type="hidden" name="MM_update" value="form1">				  <input type="hidden" name="MM_recordId" value="<%= produtos.Fields.Item("idproduto").Value %>">				  <%   Repeat1__index=Repeat1__index+1  Repeat1__numRows=Repeat1__numRows-1  produtos.MoveNext()Wend%>				  <span class="style3">				  <input name="Submit" type="submit" class="style1" value="EDITAR" />				  </span>			  </form>			  <center>				<span class="style3">				<%TM_counter = 0For i = 1 to produtos_total Step MM_sizeTM_counter = TM_counter + 1TM_PageEndCount = i + MM_size - 1if TM_PageEndCount > produtos_total Then TM_PageEndCount = produtos_totalif i <> MM_offset + 1 thenResponse.Write("<a href=""" & Request.ServerVariables("URL") & "?" & MM_keepMove & "offset=" & i-1 & """>")Response.Write(TM_counter & "</a>")elseResponse.Write("<b>" & TM_counter & "</b>")End ifif(TM_PageEndCount <> produtos_total) then Response.Write(" ")next %>				<!--#include file="menu.asp"-->				</span>			  </center></td>		  </tr>		  <tr>			<td width="11"><img src="images/spacer.gif" width="11" height="1" /></td>			<td bgcolor="#FDE38C"><img src="images/rodape.gif" width="389" height="10" /></td>		  </tr>		</table></td>	</tr>  </table></div></body></html><%produtos.Close()Set produtos = Nothing%><%categoria.Close()Set categoria = Nothing%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce suspeita onde esta o erro??em caso afirmativo poe aqui o trecho pois colocando todo o codigo gerado pelo DW fica dificil de ajudarvoce suspeita onde esta o erro??em caso afirmativo poe aqui o trecho pois colocando todo o codigo gerado pelo DW fica dificil de ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um FOR, pegando pelo Request depois manda o for atualizar pelos IDS!

pois é explore!!a vontade é grandeso nao sei como faiz isso rsrsrsmal sei mexer no dreamweaver pra fazer essas coisas!!!mais valeu pela atenção!!boa semana

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh tiozinho seu codigo é grande demais pra analisar...é melhor começar um do zero e a gente ajuda voce...

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script>

var query_final = "";

function sql(indice,valor){

if(indice==1) { query_final += "AND nome='"+valor+"'"; }

if(indice==2) { query_final += "AND cidade='"+valor+"'"; }

}

function criar_query_final(){

document.exemplo.campo_query.value = query_final;

exemplo.submit();

}

</script>

 

<form action="" method="post" name="exemplo">

<input name="campo1" type="text" onChange="sql(1,campo1.value)">

<input name="campo2" type="text" onChange="sql(2,campo1.value)">

<input name="campo_query" type="HIDDEN" value="">

<input name="Submit" type="button" value="Enviar" onClick="criar_query_final">

</form>

 

Eu faço assim ó...

com javascript, ele vai adicionando um valro a uma variavel do js quando algum campo é mudado, dai quando o kara clica no botão enviar, ele da o valro final da variavel criado ao campo campo_query dai depois é só receber no form neh

 

Request.Form("campo_query");

 

o Resultado seria por exemplo: AND nome='sergio' AND cidade='Gravatal'

dai voce faz uma var sql por exemplo...

 

sql = UPDATE tabela SET id=id +Request.Form("campo_query")+ WHERE...............

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.