Precedente :: Successivo |
Autore |
Messaggio |
Pier Dio minore


Registrato: 19/12/05 19:45 Messaggi: 660 Residenza: Sotto il tuo stesso cielo
|
Inviato: 28 Lug 2006 09:34 Oggetto: Un numero casuale |
|
|
Ciao a tutti...vi illustro il mio problema.
Ho un db in Access in cui una tabella contiene url di determinate immagini (banner).
All'inizio dovevo pescare un banner a caso da questa tabella quindi avevo creato un randomizzazione per estrarre un numero casuale tra gli id del banner e la cosa funzionava.
Ora il mio cliente vuole poter gestire anche la pubblicazione dei banner, quindi stabilire quali banner far apparire e quali no..quindi nella tabella del db c'è un campo in più (si/no).
Ora, come faccio io, in ASP, a prendere tutti i record del database in cui il campo si/no sia spuntato e quindi, tra questi e solo tra questi, estrarne uno a caso?
Spero di essere stato chiaro  |
|
Top |
|
 |
horus Macchinista


Registrato: 22/03/05 10:48 Messaggi: 2554 Residenza: Sirio e dintorni
|
Inviato: 28 Lug 2006 11:15 Oggetto: |
|
|
In una query su db access i campi si/no possono essere testati con la condizione: |
|
Top |
|
 |
tas Eroe in grazia degli dei


Registrato: 03/10/05 09:59 Messaggi: 166 Residenza: Profondo nord
|
Inviato: 31 Lug 2006 09:41 Oggetto: |
|
|
Fai la query come suggerisce Horus, cioè una roba tipo:
Codice: | SELECT ... FROM ... WHERE MostraBanner = True |
Poi carica in un array a gli ID dei record risultanti dalla query, genera un numero casuale r e prendi l'ID contenuto nell'array con indice r, una roba tipo questa:
Codice: | Dim r, a, i, rs, sql
'apre il recordset
sql = "SELECT ..."
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, cn, 1, 3, adCmdText
'ridimensiona l'array
Redim a(rs.RecordCount)
'loop sui record
i = 0
Do Until rs.EOF
a(i) = rs("ID")
i = i + 1
rs.MoveNext
Loop
rs.MoveFirst
'numero casuale compreso tra 0 e rs.RecordCount - 1
Randomize
r = Int(rs.RecordCount * Rnd)
'posizionamento sul record di indice r
rs.Find "ID = " & a(r)
'qui scrivi il codice per generare l'output HTML
...
'chiusura oggetti
rs.Close
Set rs = Nothing
|
Non l'ho provato ma in linea di massima dovrebbe andare, ciao |
|
Top |
|
 |
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|