Foros del Web » Programando para Internet » ASP Clásico »

Votar más de un anuncio UPDATE

Estas en el tema de Votar más de un anuncio UPDATE en el foro de ASP Clásico en Foros del Web. Estimados amigos, Estoy elaborando un sistema de votación rudimentario. Trato de que mis estudiantes voten los anuncios incluidos en una BD; son muchos y pueden ...
  #1 (permalink)  
Antiguo 28/04/2005, 23:59
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
Votar más de un anuncio UPDATE

Estimados amigos,

Estoy elaborando un sistema de votación rudimentario. Trato de que mis estudiantes voten los anuncios incluidos en una BD; son muchos y pueden votar a más de uno.

Elaboro este código:

<%
Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= \\anunciosBD.mdb")

sql = "SELECT * FROM anuncios Where Id ="&Id2&" "
RS.Open sql, oConn, 2, 2

Id2=request.form("Id")


oConn.Execute "UPDATE anuncios SET voto="&RS("voto")+1&" Where Id ="&Id2&" "

RS.Requery


RS.Close
oConn.Close
Set RS = nothing
Set oConn = nothing
%>

El problema es:

*Sólo me permite votar un anuncio; me gustaría que me orientaseis sobre cómo lograr que puedan votar más de un anuncio.

Gracias a todos,

Emajesus

Última edición por emajesus; 29/04/2005 a las 00:16
  #2 (permalink)  
Antiguo 29/04/2005, 03:24
 
Fecha de Ingreso: junio-2004
Mensajes: 67
Antigüedad: 20 años
Puntos: 0
Veamos, creo que tienes mal planteado el update.
No te hace falta buscar el anterior valor voto, pues le puedes decir que sume uno al que ya tiene.

Por ejemplo:

<%
Set oConn = Server.CreateObject ("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ= \\anunciosBD.mdb")

Id=request.form("Id")

oConn.Execute "UPDATE anuncios SET voto=voto+1 Where Id =" & Id

Set oConn = nothing
%>

En Where recuerda que existe el formato In, es decir si quieres varios votaciones a la vez seria

UPDATE anunciones SET voto=voto+1 WHERE Id in (45,56,76,898,453)

Esto incrementará los id's 45,56,76,898,453 con una sola instruccion.

Espero te sirva de ayuda.
__________________
:pirata: Gibi Velazquez

www.joiesmc.com
  #3 (permalink)  
Antiguo 29/04/2005, 04:11
Avatar de emajesus  
Fecha de Ingreso: abril-2003
Mensajes: 278
Antigüedad: 21 años, 1 mes
Puntos: 1
PERFECTO, muchas gracias


<%
Id2=request.form("Id")

If Id2="" then

response.redirect("http://www.midominio.htm")

else

Set oConn = Server.CreateObject ("ADODB.Connection")
Set RS = Server.CreateObject ("ADODB.RecordSet")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=

\\modiminio.mdb")


sql = "SELECT * FROM anuncios"
RS.Open sql, oConn, 2, 2


oConn.Execute "UPDATE anuncios SET voto=voto+1 Where Id In ("&Request.Form("Id")&")"


RS.Requery


RS.Close
oConn.Close
Set RS = nothing
Set oConn = nothing

response.redirect("http://www.midominio.htm")

end if

%>

Última edición por emajesus; 29/04/2005 a las 04:32
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.