Ir para conteúdo

Arquivado

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

sheridan

em um form com check box

Recommended Posts

eu preciso criar um form em que o usuário selecione certos registros usando um checkbox, e depois de clicar em ENVIAR, uma campo da tabela seja atualizado. eu sei fazer o form, mas depois eu não sei o que fazer, pois no form que eu montei, se existiam 2 registros e o usuário seleciona 1, os dados vem da seguinte maneira9, 18 checked (9 e dezoito é um id e o checked é o valor do checkbox)como eu monto a str sql para pegar apenas a linha em que o checkbox esteja clicado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com um problema parecido, se alguém puder nos ajudar agradecerei tb!!!

Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ei galera, dá uma mão ai!!!! é a segunda vez que eu coloco um post sobre esta dúvida e não consigo resposta!!! :o

Compartilhar este post


Link para o post
Compartilhar em outros sites

ei galera, dá uma mão ai!!!! é a segunda vez que eu coloco um post sobre esta dúvida e não consigo resposta!!! :o

Sheridan ... eu fiz um testes aqui e não me retornou isso não !você pode postar o codigo para eu testar aqui e te passar a resposta ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

código do form

 

ASP
<form name="delecaocontatos" method="post" action="user_filtro_cont_upd.asp">

<table width="634" border="0">

  <tr>

    <td colspan="4">Exclusão da Lista de Filtro</td>

    </tr>

  <tr>

    <td width="320">nome</td>

    <td width="94">grupo</td>

    <td width="78">vendedor</td>

    <td width="124">selecionar</td>

  </tr>

<%

for i = 1 to RS.Recordcount

RS.Absoluteposition = i

%>

  <tr>

    <td><%=RS("nome_contato")%>

      <input name="id_contato" type="hidden" id="id_contato" value="<%=RS("id_contato")%>"></td>

    <td><%=RS("grupo")%></td>

    <td><%=RS("vendedor")%></td>

    <td><input name="filtro" type="checkbox" id="filtro" value="checked"></td>

  </tr>

  <tr>

<%next%>

    <td colspan="4"><div align="center">

      <input type="submit" name="Submit" value="excluir do filtro">

    </div></td>

    </tr>

</table>

  </form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae sheridan ... faz o seguinte: No campo Input=checkbox .... onde é value="checked" coloca value="<%=RS("id_contato")%>", quando o checkbox for selecionar ele retornara o numero do "id do contato" e da para você usar na SQL, pois você deve usar este valor para selecionar o registro eu suponho ... !Qualquer problema posta ai ! beleza

Compartilhar este post


Link para o post
Compartilhar em outros sites

meu, valeu pela dica, mas tem ainda um probleminha : qdo eu seleciono mais que um registro, o seguinte erro apareceMicrosoft JET Database Engine error '80040e14' Syntax error (comma) in query expression 'id_contato = 9, 18'. a query sql pra atualizar o bd é a seguintestrSql="UPDATE contatos SET filtro= '0',alterado_por="&session("usuario")&", dt_ult_alteracao='"& now &"' WHERE id_contato = "&id_contato&" "Set RS = CN.Execute(strSql)Response.redirect("user_filtro.asp")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala sheridan meu problema é exatamente esse, tenho um livro que diz que desse jeito os dados estariam em um array, e que para utilizá-los seria para fazer o sequinte:

request.form("filtro").item(numero_da_posição)

Mas comigo ainda não rolou, caso consiga posta ai e diga como foi, beleza?

 

Valeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%cFiltro = ""for i = 1 to request.form(2).count cFiltro = cFiltro + "id_contato = " & Request.form(2)(i) & " And "nextcFiltro = Mid(cFiltro,1,Len(cFiltro)-5)strSql = "UPDATE contatos SET filtro= '0',alterado_por="&session("usuario")&", dt_ult_alteracao='"& now &"' WHERE " & cFiltroSet RS = CN.Execute(strSql)%>Agora chega !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Foi? :angry:

beleza! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tenta usar isto:filtro = request.form("filtro")array_filtro = split(filtro,",")For i =0 to UBound(array_filtro) str = str & "id_contato = " & Trim(array_filtro(i))& "" & " and " Nextstr = left(str, Len(str) - 5)sql = Select * From Tabela where " & strVeja no que dá!!Até mais

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%cFiltro = ""for i = 1 to request.form(2).count cFiltro = cFiltro + "id_contato = " & Request.form(2)(i) & " And "nextcFiltro = Mid(cFiltro,1,Len(cFiltro)-5)strSql = "UPDATE contatos SET filtro= '0',alterado_por="&session("usuario")&", dt_ult_alteracao='"& now &"' WHERE " & cFiltroSet RS = CN.Execute(strSql)%>Agora chega !

Esqueci de dizer .... A parte Request.Form(2).count -----> o numero dois deve ser substituida pelo nome do campo checkbox

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%cFiltro = ""for i = 1 to request.form(2).count    cFiltro = cFiltro + "id_contato = " & Request.form(2)(i) & " And "nextcFiltro = Mid(cFiltro,1,Len(cFiltro)-5)strSql = "UPDATE contatos SET filtro= '0',alterado_por="&session("usuario")&", dt_ult_alteracao='"& now &"' WHERE " & cFiltroSet RS = CN.Execute(strSql)%>Agora chega !

Esqueci de dizer .... A parte Request.Form(2).count -----> o numero dois deve ser substituida pelo nome do campo checkbox
não deu erro mas tmb não alterou as informações na tb....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara tenta usar isto:filtro = request.form("filtro")array_filtro = split(filtro,",")For i =0 to UBound(array_filtro) str = str & "id_contato = " & Trim(array_filtro(i))& "" & " and " Nextstr = left(str, Len(str) - 5)sql = Select * From Tabela where " & strVeja no que dá!!Até mais

cara deu o seguinte erro :Microsoft VBScript runtime error '800a0005' Invalid procedure call or argument: 'left' /user_filtro_cont_upd.asp, line 21

Compartilhar este post


Link para o post
Compartilhar em outros sites

kenewselecionando apenas um registro funciona normalmente....

O q você quer dizer ... Ah entendi ... bom troca AND por OR ... ai vai dar certo !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você usar mais de um checkbox ele ira te retornar sempre os valroes separados por vírgula. Sendo assim, você deve usar a função Split e especificar o separador delá como a vírgula (,) que você obterá apenas os valores sozinhos, sabendo assim quais registros modificar\deletar.

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.