- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Rotazione banner
-
Guarda il sito è questo: w*w.ledueruote.it
Sulla sinistra vedi i banner, sono "statici" cioè che ad ogni refresh di pagina stanno sempre li fissi al loro posto.
A me piacerebbe mettere un solo box banner, in orizzontale ( questo non è un problema ) dove in questo unico box si visualizzino questi banner che ho inserito in archivio, in modalità random
-
Nella select nel codice che hai mostrato metti order by newid, ti ordina in maniera casuale i banner, prendi il primo e lo visualizzi.
-
Quindi dovrei modificare questa riga da così:
sqlbanner="select * from banner where id_riferimento=1 and on_line=true order by clicks"
a così:
sqlbanner="select * from banner where id_riferimento=1 and on_line=true order by newid"giusto ?
-
Per essere precisi:
sqlbanner="select * from banner where id_riferimento=1 and on_line=true order by newid**()**"
-
Per essere precisi:
sqlbanner="select * from banner where id_riferimento=1 and on_line=true order by newid**()**"
-
Mi da questo errore:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Undefined function 'newid' in expression.
/banner_home/a_rotation.asp, line 4
-
Prova con questo codice:
<% Randomize() randNum = (CInt(1000 * Rnd) + 1) * -1 set conn = CreateObject("ADODB.Connection") sql = "SELECT TOP 1 cols," & _ "r = Rnd(" & randNum & ")" & _ "FROM TableName " & _ "ORDER BY r" set rs = conn.execute(sql) response.write rs(0) ' ... rs.close: set rs = nothing conn.close: set conn = nothing %>
-
Prova con questo codice:
<% Randomize() randNum = (CInt(1000 * Rnd) + 1) * -1 set conn = CreateObject("ADODB.Connection") sql = "SELECT TOP 1 cols," & _ "r = Rnd(" & randNum & ")" & _ "FROM TableName " & _ "ORDER BY r" set rs = conn.execute(sql) response.write rs(0) ' ... rs.close: set rs = nothing conn.close: set conn = nothing %>
-
Lo sostituisco a tutto il codice che ho riportato ?
-
No devi modificare la parte che fa la query, aggiungendo la parte con r= Rnd....
-
@cali1981 said:
No devi modificare la parte che fa la query, aggiungendo la parte con r= Rnd....
Scusa cali1981, sono abbastanza niubbio...devo sostituire questa parte :
<% connessione
sqlbanner="select * from banner where id_riferimento=1 and on_line=true order by clicks"
set rsbanner=conn.execute(sqlbanner)
do while not rsbanner.eof
%>con quella che mi hai suggerito ?
-
Devi mettere questo codice al suo posto:
Randomize() randNum = (CInt(1000 * Rnd) + 1) * -1 set conn = CreateObject("ADODB.Connection") sqlbanner="select *,r = Rnd("& randNum &") from banner where id_riferimento=1 and on_line=true order by r" set rsbanner=conn.execute(sqlbanner)
-
Devi mettere questo codice al suo posto:
Randomize() randNum = (CInt(1000 * Rnd) + 1) * -1 set conn = CreateObject("ADODB.Connection") sqlbanner="select *,r = Rnd("& randNum &") from banner where id_riferimento=1 and on_line=true order by r" set rsbanner=conn.execute(sqlbanner)
-
Mi visualizza questo errore
ADODB.Connection error '800a0e78'
Operation is not allowed when the object is closed.
/banner_home/a_rotation.asp, line 8
-
Puoi fare id = rsbanner("id_banner")
e sostituire a rsbanner("id_banner") nel codice che hai fatto vedere all'inizio solo id
-
Inserendo solo questa ultima cosa non mi da problemi ma i banner non sono in random.
volevo farti anche una domanda, pensi sia piu facile trovare una soluzione qui o implementare questa funzione di banner random ex novo ? ci sono molti moduli per rotazione banner per la rete, ho cercato, solo che non saprei come montarli in questo pannello di controllo che ho per questo sito
-
Non saprei, dipende dal codice, devi vedere tu come ti conviene fare. buona fortuna!
-
@cali1981 said:
Non saprei, dipende dal codice, devi vedere tu come ti conviene fare. buona fortuna!
ti ringrazio dell'aiuto, rimarrà una questione irrisolta