Ir para conteúdo

POWERED BY:

Arquivado

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

pedrovisk

Como insiro múltiplos registros (checkbox) pelo...

Recommended Posts

1 - Tenho uma pagina com os dados basicos da maquina, Nome, local e usuário.2 - Na mesma pagina, abaixo desses dados, varios checkboxes, gerados a partir da tabela SOFTWARE com seus respectivos valores.3 - E mais abaixo, outra lista de hardwares, também gerados a partir de uma tabela HARDWARE com seus respectivos valores.4 - Da lista de softwares, eu marquei 5 opçoes, checkbox, e na outra lista, mais 6 opções.5 - Como faço para inserir tudo isso na tabela SOFT_MAQUINA, onde existem 2 campos, IDsoftware e IDHardware, pois quando insiro, ele adiciona apenas a primeira opção, e o resto nada. Como faço para inserir estes dados nestas tabelas, ou devo criar uma outra tabela? Ou até mesmo dividir em etapas?Eu estou utilizando o mode de inserção do DW8, e ele gera a seguinte linha do SQL:insert into dbo.Sof_Maquina (IdMaq,IdSoft) values (4,1)Ou seja, estão faltando as outras opções dos checkboxes selecionados.Tem algum modo de eu inserir apenas os checkboxes selecionados?Abaixo estão as linhas que o DW gera do ASP.If (CStr(Request("MM_insert")) = "Software") ThenMM_editConnection = MM_SisConTI_STRINGMM_editTable = "dbo.Sof_Maquina"MM_editRedirectUrl = "Insere_Software.asp"MM_fieldsStr = "Maquina|value|ckSoft|value"MM_columnsStr = "IdMaq|none,none,NULL|IdSoft|none,1,0"' create the MM_fields and MM_columns arraysMM_fields = Split(MM_fieldsStr, "|")MM_columns = Split(MM_columnsStr, "|")' set the form valuesFor MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))Next' append the query string to the redirect URLIf (MM_editRedirectUrl <> "" And Request.QueryString <> "") ThenIf (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") ThenMM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryStringElseMM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryStringEnd IfEnd IfEnd If%><%' *** Insert Record: construct a sql insert statement and execute itDim MM_tableValuesDim MM_dbValuesIf (CStr(Request("MM_insert")) <> "") Then' create the sql insert statementMM_tableValues = ""MM_dbValues = ""For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2MM_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 = "") ThenMM_formVal = MM_emptyValElseIf (MM_altVal <> "") ThenMM_formVal = MM_altValElseIf (MM_delim = "'") Then ' escape quotesMM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"ElseMM_formVal = MM_delim + MM_formVal + MM_delimEnd IfEnd IfIf (MM_i <> LBound(MM_fields)) ThenMM_tableValues = MM_tableValues & ","MM_dbValues = MM_dbValues & ","End IfMM_tableValues = MM_tableValues & MM_columns(MM_i)MM_dbValues = MM_dbValues & MM_formValNextMM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"Abaixo vai a parte do Form:<table width="520" border="0" cellspacing="0" cellpadding="0"> <form id="Software" name="Software" method="POST" action="/sisconti/Inventario/Insere_Software.asp?Maquina=4"> <tr class="unseen"><input name="Maquina" type="hidden" value="4"> <td colspan="2">Selecione os Softwares para esta máquina </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td width="63"><input name="ckSoft" type="checkbox" id="ckSoft" value="3"></td> <td width="457">Office</td> </tr> <tr> <td width="63"><input name="ckSoft" type="checkbox" id="ckSoft" value="1"></td> <td width="457">Stur</td> </tr> <tr> <td width="63"><input name="ckSoft" type="checkbox" id="ckSoft" value="2"></td> <td width="457">Windows XP</td> </tr> <tr> <td> </td> <td> </td> </tr>

Compartilhar este post


Link para o post
Compartilhar em outros sites

<form action="" method="post" name="frm"><input type="checkbox" name="teste" value="1"><input type="checkbox" name="teste" value="2"><input type="checkbox" name="teste" value="3"><input type="checkbox" name="teste" value="4"><input type="checkbox" name="teste" value="5"><input type="submit"></form>
Repare que os checkbox levam o mesmo nome "teste", pois quando selecionados eles geram uma variável separada por vírgula

 

você adiciona assim mesmo pro BD, vai sair algo tipo "1,3,4,5" e para separar esses valores depois você faz por var = Split(rs("campo"),",") - vai te retornar um array var

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso queira inserir separadamente no BD pode fazer um Split antes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tipo isso:

 

<%

While ((Repeat1__numRows <> 0) AND (NOT rsSoft.EOF))

%>

<tr>

<td width="63"><input name="ckSoft" type="checkbox" id="ckSoft" value="<%=Split((rsSoft.Fields.Item("Handle").Value),",")%>"></td>

<td width="457"><%=(rsSoft.Fields.Item("NomeSof").Value)%></td>

</tr>

<%

Repeat1__index=Repeat1__index+1

Repeat1__numRows=Repeat1__numRows-1

rsSoft.MoveNext()

Wend

%>

 

ou tenho q fazer na inserção?

 

MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

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.