| 
                
                
                 
 
	
		| 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
 
 |  
 
 |