62 messaggi dal 25 luglio 2002
Ciao ragazzi, il mio "problema" è questo...

Devo creare una pagina dove a caso escono 10 domande su 50 che sono in un db... in pratica devo creare una pagina random...

Qualcuno saprebbe indicarmi o procurarmi materiale che spiega come si crea una pagina del genere??

Grazie....
593 messaggi dal 09 ottobre 2002
www.dotnetside.org
Bastava fare una ricerca nel forum e avresti visto che qualche giorno fa è stato trattato un problema simile:
http://forum.aspitalia.com/forum/topic.aspx?PostID=226160

La logica per ottenere la tua soluzione è spiegata dettagliatamente nei post del topic citato e nei vari link di rimando.

Studiateli con attenzione e risolverai la tua necessità.

Pochi post. Anzi, quasi quasi spengo
http://www.dotnetside.org/
6 messaggi dal 20 gennaio 2005
Ciao io ho scritto un tread sul forum che ti può servire
62 messaggi dal 25 luglio 2002
Io ho visto il codice consigliato nel precedente forum:


FUNCTION randomID
   ....
   ....
END FUNCTION
'
'
' Estraiamo gli ID che assegneremo all'array bidimensionale con .GetRows
' estraiamo con un ciclo dall'array tutte le occorenze di ID costruendoci 
' una stringa di con tutti gli ID separati da spazi (es.: strID)
'
strSql = "SELECT ID FROM nometabella;"
objRS.Open strSql
arrayID = objRS.GetRows()
'
' Ciclo costruzione stringa
FOR n = 0 TO UBOUND(arrayID,2)
    strID = strID & arrayID(0,n) & " "
NEXT
'
'
'
' Ciclo di generazione ID
'
FOR i = 1 TO 30
' 
   ID = randomID()
   '   Controlliamo che l'ID esista senza più preoccuparci che sia compreso nel range
       IF Instr(strID, ID)
           strRange = strRange & ID & ","
       ELSE
           ' decrementiamo il contatore per rigenerare l'ID
           i = i-1
       END IF
NEXT
'
' Priviamo la stringa dell'ultima virgola
'
strRange = Left(strRange,Len(strRange)-1)
'
'
' Al termine avremo eseguito 30 assegnazioni valide di ID e potremo eseguire la Query
' con la certezza di aver estratto 30 effettivi ID
'
strSQL = "SELECT campoID FROM nometabella WHERE campoID IN (" & strRange & ");"



Ora però vorrei sapere cosa inserire nella funzione



FUNCTION random ID



e poi una volta selezionate le voci Random cme faccio a visualizzarle??

Grazie in anticipo...
593 messaggi dal 09 ottobre 2002
www.dotnetside.org
Come scusa????

1) Nella FUNCTION è ovvio che inserirai il codice per generare i numeri casuali (non dirmi che non sai farlo , ricorda che sei nella sezione ASP avanzato e quello che chiedi è a dir poco elementare);

2) Visualizzare le voci random: lo fai aggiungendo al codice, nella parte in cui è l'riportata la stringa SQL per l'estrazione degli n record casuali, il codice per scansionare il resultset con:

WHILE NOT objRS.EOF
... codice di visualizzazione del contenuto
WEND

E, come per il punto 1, anche in questo caso vale la pena di ricordare che si tratta di conoscenza basilari dell'ASP.

Ora rifletti sui suggerimenti che ti ho dato e cerca di risolvere il tuo problema.

Ciao

P.S.: Forse è il caso che ti ricordi di istanziare gli oggetti Connection e Recordset prima di richiamarli e di chiuderli e liberarli al termine dell'utilizzo.

Pochi post. Anzi, quasi quasi spengo
http://www.dotnetside.org/
62 messaggi dal 25 luglio 2002
Spiritoso

1) Nella FUNCTION è ovvio che inserirai il codice per generare i numeri casuali (non dirmi che non sai farlo , ricorda che sei nella sezione ASP avanzato e quello che chiedi è a dir poco elementare);

Non è mika tanto ovvio...

Ti spiacerebbe essere + chiaro... xfaror...

Grassie
6 messaggi dal 20 gennaio 2005
Cio Vitosulla dal tuo dire si direbbe che sei veramente un mostro delle Asp. HIIII hiii hiii
Quindi caro Guru
Ho un problemino per te te la senti di affrontare questa sfida???
Cominciamo....
Stamparei numeri random(che banalità giusto??)
Ok !
Perciò io avevo un problema che ho abbandonato ma che potrebbe servire a molti !!

Dato un db con una sola tabella {2colonne: [ID e nome(10 nomi diversi)]}

estrarre un nome alla volta in modo Random e ok fino a qui....
Poi però bisogna effettuare un controllo sul nome estratto
di modo che prima di comparire lo stesso nome vengano estratti tutti gli altri.

ti faccio un esempio
1° estratto :Vitosulla
2° estratto :edovox
3° estratto : pippo
ecc ecc

Prima di riapparire Vitosulla devono uscire i restanti 7
Tutto chiaro ??

A te la palla ora divertiti
3.122 messaggi dal 16 maggio 2002
edovox, tieni traccia dei record già usciti e modifichi la query di estrazione con questi dati. Se ad esempio id è la chiave primaria della tua tabella, basta che fai una cosa del genere:
idusciti = "7, 3, 2" 'questo lo riempi dinamicamente
sql = "SELECT * FROM tabella"
if Len(idusciti)>0 then
sql = sql & " WHERE id NOT IN (" & idusciti & ")"
end if
'esegui la query e scegli i record


Se usassi mySQL potresti estrarre i record in maniera casuale con una sola query del tipo
SELECT *
FROM tabella
ORDER BY RAND()


P.S. magari la prossima volta usa un tono meno arrogante

The day Microsoft makes something that doesn't suck
is probably the day they start making vacuum cleaners.

Get caught!
Get caught again!

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.