Ir para conteúdo

POWERED BY:

Arquivado

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

webcore

[Resolvido] deleção por checbox

Recommended Posts

pag1.asp

 

<

CODE
!--#include file="utils/conn.asp" -->

<%

Set rs = Conn.Execute("SELECT * FROM categorias ORDER BY categoria ASC")

%>

 

<%

While not rs.EOF

%>

 

<form name="apaga" method="post" action="do_apaga.asp">

<input name="checkbox" type="checkbox" value="<%= rs("id")%>" /><%= rs("categoria")%> <br />

<input type="submit" value="Apagar" />

</form>

.

.

pag. do_apaga.asp

 

CODE
<!--#include file="utils/conn.asp" -->

<%

Dim checkbox

Set rs = createobject("Adodb.Recordset")

Set rs.activeconnection = Conn

rs.cursortype = 3

 

Sql="Delete * From categorias Where id in '"& checkbox &"';"

Set rs = Conn.Execute(Sql)

Set rs = Nothing

Set Conn = Nothing

 

Response.redirect "Gerencia.asp"

%>

ja tentei com 3 tipos: '"& checkbox &"';" -- '("& checkbox &")';" -- ("& checkbox &");"

 

ah, o db é o FABULOSO access..rs

 

o erro

Tipo de erro:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)

[Microsoft][Driver ODBC para Microsoft Access] Operador In sem () na expressão de consulta 'id in '''.

/gerencia/do_apaga.asp, line 34 - é a linha da Sql

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa beleza,

 

Pelo o que eu entendi funciona de seguinte forma o seu codigo

 

1º - você dá um select pega todas as categorias

2º - Faz um loop e vai gerando vários forms com um campo de mesmo nome "input name="checkbox"

3º - Cria-se um botao para cada form de envio

4º - Ao clicar no botao chama a pagina para fazer o delete?

 

É isso mesmo, me corrija se estiver errado ok.

 

Fabiano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou colocar um exemplo aqui para você dar uma olhada ok

 

CODE

!--#include file="utils/conn.asp" -->

<%

Set rs = Conn.Execute("SELECT * FROM categorias ORDER BY categoria ASC")

%>

 

 

<script language="javascript" type="text/javascript">

function guardar_codigos(){

var inputs = document.getElementsByTagName("input"); // pegando todos os campos inputs

var qtd_inputs = 0;

var ids="";

for (i=0;i<inputs.length;i++){

if(inputs.checked == true){ // se o campo for do tipo checked

qtd_inputs++;

ids = inputs.value+","+ids; // coloca na varial ids o valor do campo checked separados por virgula

}

}

if (qtd_inputs == 0 ){ // se nenhum campo for marcado envia mensagem de erro

window.alert("Deve selecionar pelo menos uma categoria.");

}else{ // pega os ids e coloca-se no campo hidden do form

document.apaga.IDS.value = ids;

document.apaga.submit(); // envia o form

}

}

</script>

 

<form name="apaga" method="post" action="do_apaga.asp">

 

<!-- aqui ira conter todos os codigos dos campos selecionados -->

<input type="hidden" name="IDS" id="IDS" />

 

<%While not rs.EOF%>

 

<input name="checkbox" type="checkbox" value="<%=rs("id")%>" /><%= rs("categoria")%> <br />

 

<%rs.MoveNext

wend%>

 

<input type="button" value="Apagar" onclick="java script:guardar_codigos();" />

</form>

 

 

 

Página que realiza o delete

 

 

CODE
<!--#include file="utils/conn.asp" -->

<%

 

ids = Request.Form("IDS")

 

Set rs = createobject("Adodb.Recordset")

Set rs.activeconnection = Conn

rs.cursortype = 3

 

Sql="Delete from categorias Where id in ("& ids &");"

Set rs = Conn.Execute(Sql)

Set rs = Nothing

Set Conn = Nothing

 

Response.redirect "Gerencia.asp"

%>

Valew testa aí valew pq eu nao testei nao

 

Valew

Fabiano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja se o erro é aqui, nao sei pq, mas ele colocou separado

 

onclick="java script:guardar_codigos()" />

 

coloque assim, o javascript tem que ser junto ok.

 

onclick="java script:guardar_codigos();" />

 

 

Tenta aí

 

Fabiano

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.