6 messaggi dal 01 dicembre 2006
Salve ragazzi ho un problemino,
Voglio una pagina web che carica dei bannner a caso.
Ho quindi creato un DB con una tabella banner che ha come campi URL_IMMAGINE e LINK, cioè dove si trova il file che contiene il banner (una semplice immagine o un flash) e poi il link da aprire quando clicco sul banner.

Ora la mia funzione random se ho URL_IMMAGINE e LIMK cablati sul codice funziona mentre quando faccio la query e li recupero da db non và.

Vi spiego come ho fatto:

'FUNZIONANTE MA NOMI CABLATI NEL CODICE---------------------------
Dim Banner(10,1)
Path = "BannerClienti/Immagini/"
Banner(1,0)="banner1.jpg"
Banner(1,1)="http://www........"
..........................................
Banner(10,0)="banner2.jpg"
Banner(10,1)="http://www........."

'FUNZIONE RANDOM ININFLUENTE PERCHE' FUNZIONA
randomize()
nummin =1
nummax = 10
Indice = int(nummin + (rnd * ( nummax - nummin + 1 )))
If Instr(Banner(Indice,0),".swf")=0 Then
Response.Write "<a href=""" & Banner(Indice,1) & """ target=""_blank""><img src=""" & Path & Banner(Indice,0) & """ border=""0""></a>"
Else
---------------------------------------------------------------

'NON FUNZIONANTE-----------------------------------------------
SqlStr ="SELECT URLIMG,LINK FROM BANNER"
set rs = DBQuery(SqlStr)
for n = 1 to 10
Banner(n,0) = rs("URLIMG")
Banner(n,1) = rs("LINK")
next

//FUNZIONE RANDOM-----------------------------------------------
................................................
----------------------------------------------------------------

Premesso che la connessione funziona in quanto estraggo anche altre cose in questa pagina, cos'è che non va secondo voi?
635 messaggi dal 06 settembre 2002
Ciao,
secondo me il problema è nell'assegnazione dei valori all'Array bidimensionale.

Se il codice postato è quello che utilizzi, non vedo uno scorrimento del recordset quindi, molto probabilmente Banner(x,y) conterrà sempre la stessa coppia di valori.

Prova a modificare il codice come segue:
SqlStr ="SELECT URLIMG,LINK FROM BANNER" 
set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open SqlStr, Conn, 3,3

  if rs.EOF=false and rs.BOF=false then
     'La query a restituito dei valori
     Banner=rs.GetRows  'Genero un array in automatico con il recordset
     if isArray(Banner)
        TOT_ROW=UBound(Banner,2)  'Totale delle righe (da 0 a xx);
        TOT_COL=Ubound(Banner,1)  'Totale Colonne (da 0 a xx);
     end if
  end if

rs.Close
set rs = Nothing 



Spero di essere stato di aiuto.
Ciao

OJD

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.