Ver Mensaje Individual
  #8 (permalink)  
Antiguo 23/06/2008, 08:49
piskui
 
Fecha de Ingreso: mayo-2007
Mensajes: 239
Antigüedad: 17 años, 11 meses
Puntos: 0
Respuesta: Problema con recordset

set BanAvz2RS = Server.CreateObject("ADODB.RecordSet")
.
.
select case Accion
case "UPDATEBANNER"
call UpdateBanner(IdBanAvz)
'Si seleccionamos "grabar y continuar" o no...
if ValidaPasoDatos("continuar", "")=1 then Response.Redirect URLRaiz & EsteASP &
"? Accion=MostrarBanner&IdBanAvz=" & IdBanAvz
else
Response.Redirect URLRaiz & EsteASP
end if


DONDE EL PROCEDIMIENTO UPDATEBANNER Y LA FUNCION MOSTRARBANNER SON:

Código PHP:
sub UpdateBanner(IdBanAvz)
    
dim IdRec
    dim confirmado
    
    
'Tenemos que comprobar que el usuario que quiere actuar sobre el banner es el..
    '
..administrador o el propietariosi no es así lo redireccionamos...
    
set BanAvzRS AbreProc(prefijoRS "xId " IDMS "," IdBanAvz)
    if 
tipoUsuario and session("IdUsr")<>BanAvzRS("IdUsr"then Response.Redirect URLRaiz EsteASP
    
'Si eres un usuario tipo 1 y guardas un Banner q tienes en Denegados pasará a otra vez pendiente...
    if tipoUsuario = 2 AND BanAvzRS("Confirmado") = -1 then confirmado = 0 else confirmado = BanAvzRS("Confirmado")
    BanAvzRS.Close
    set BanAvzRS = nothing
    
    '
Actualizamos el registro del Banner...
    
IdRec ExecProcInteger(prefijoRS "Cambia " IDMS "," IdBanAvz ",'" srep(ValidaPasoDatos("txtaDescripcion","")) & "','" ValidaPasoDatos("Ilink","") & "','" CFechaInterna(ValidaPasoDatos("FechaIni","")) & "','" CFechaInterna(ValidaPasoDatos("FechaFin","")) & "'," ValidaPasoDatos("txtVistasMax","null") & "," ValidaPasoDatos("chkActivo","0") & "," cstr(confirmado))
    
Actualizamos el recurso asociado al Banner...
    
RecursoSubibleActualiza true"Banners"IdRecValidaPasoDatos("TRec",""), ValidaPasoDatos("IRec",""), prefijoRS "CambiaRec " IDMS "," IdBanAvz ","RellenaConCeros(IdBanAvz,5) & "_"
end sub 
Código PHP:
' Función : MostrarBanner
Función que llama a la pantalla de detalle de cada bannerse llama tanto para añadir como para modificar...
'--------------------------------------
function MostrarBanner(IdBanAvz)
    dim FechaIni: FechaIni=""
    dim FechaFin: FechaFin=""
    dim link: link=""
    dim rec: rec=""
    '
Variable que pasamos como referencia pero q no utilizamos...
    
dim jsRestablecer
    
'Variable que utilizamos para el usuario de tipo 1, que si el Banner está confirmado no podrá modificar los valores...
    dim puedeModificarUsuario1: puedeModificarUsuario1 = 1
    
    MostrarBanner=false
    
    '
EDICIÓN BANNER
    
if IdBanAvz<>"" then
        set BanAvzRS 
AbreProc(prefijoRS "xId " IDMS "," cstr(IdBanAvz))
        
'Comprobamos si el Banner existe o no...
        if BanAvzRS.RecordCount > 0 then
        '
Tenemos que comprobar que el usuario que quiere mostrar el banner es el administrador o el propietariosi no es así lo redireccionamos.
            if 
tipoUsuario and session("IdUsr")<>BanAvzRS("IdUsr"then Response.Redirect URLRaiz EsteASP
            
            
if tipoUsuario 2 then
                
'Si somos usuarios de tipo 1 y ya está confirmado el Banner no podremos modificar nada..
                '
..sólo activarlo o desactivarlo y activar o desactivar subzonas donde se mostrará..
                
'..una vez asociado a una zona...
                if BanAvzRS("Confirmado") = 1 then puedeModificarUsuario1 = 0
            end if
            
            Plantilla.AnadeCamposDelRS(BanAvzRS)
            '
Acción de modificar Banner...
            
plantilla.anade "Accion""UpdateBanner&IdBanAvz=" IdBanAvz
            link 
BanAvzRS("link")
            
FechaIni CFechaExterna(BanAvzRS("FechaIni"))
            
FechaFin CFechaExterna(BanAvzRS("FechaFin"))
            
Plantilla.Anade "FechaIni"FechaIni
            Plantilla
.Anade "FechaFin"FechaFin
            
'Recuperamos el "Id" del recurso asociado...
            Rec = BanAvzRS("IdRec")
            if BanAvzRS("Activo") then plantilla.anade "Activo", "checked"
            
            Dim IdZonaBanner: IdZonaBanner = 0 '
Variable donde guardamos la Zona a la que está asociado un Banner...
            
Dim NombreZonaBannerNombreZonaBanner ""
            'Recuperamos la zona asociada a un banner, HAY UN PROC. ALMACENADO QUE DEVUELVE "ID" y "NOMBRE"...
            set BanAvz2RS = AbreProc(prefijoRS & "ZonaXIdBanner " & IDMS & "," & IdBanAvz)
            if BanAvz2RS.RecordCount > 0 then
                IdZonaBanner = BanAvz2RS("IdZona")
                NombreZonaBanner = BanAvz2RS("Nombre")
            end if
            BanAvz2RS.Close
            
            Dim HTMLZona: HTMLZona = ""
            
            '
Si el Banner tiene zona o no tiene zona pero no es un usuario del tipo 1 entonces..
            
'..montaremos la tabla donde se muestran las subzonas o el combo para seleccionar zona..
            '
..es para no mostrar los bordes de la tabla si eres usuario de tipo 1 y no está asociada..
            
'..una zona a tu banner...
            if IdZonaBanner <> 0 or tipoUsuario <> 2 then
                HTMLZona = HTMLZona & "<tr><td colspan=""2""><a name=""zona""/>"
                HTMLZona = HTMLZona & "<table border=""0"" cellpadding=""0"" cellspacing=""1"" width=""100%"" align=""center"" bgcolor=""#000000"">"
                HTMLZona = HTMLZona & "<tr><td bgcolor=""#FFFFFF"">"
                HTMLZona = HTMLZona & "<table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""100%"">"
            end if
            
            '
El usuario de tipo 1 no podrá asignar nunca zonas por lo que no es necesario que montemos el combo...
            if 
tipoUsuario <> 2 then
                
' ###### SELECCIÓN ZONAS O ZONA ASOCIADA ######
                
                '
Lo primero controlar si tiene asociada una zona y ya tiene click o vistos ese Banner en esa zona...
                
dim tiene_Clicks_o_Vistotiene_Clicks_o_Visto false
                
'Miramos si el Banner tiene zona asociada y así saber si tiene "Clicks" o "Visto"..
                '
..para poder cambiar la zona o no...
                
set BanAvz2RS AbreProc(prefijoRS "ZonaXIdBanner " IDMS "," IdBanAvz)
                if 
BanAvz2RS.RecordCount 0 then
                    BanAvz2RS
.Close
                    set BanAvz2RS 
AbreProc(prefijoRS "SubzonaBannerTodos " IDMS "," IdBanAvz)
                    
SET BanAvz2RS BanAvz2RS.NextRecordset
                    
if BanAvz2RS(0) > or BanAvz2RS(1) > 0 then tiene_Clicks_o_Visto true
                end 
if
                
BanAvz2RS.Close 
este es la parte del codigo que falla con lo de la modificacion de banners, y ya te comento que esta paginado y en los banners de la pagina 2 si me deja modificarles pero los de la pagina 1 no, Ah y yo tengo permisos de administrador que puedo modificar banners. Espero me puedas ayudar xq no doy con ello, gracias. Un saludo.