22 messaggi dal 23 maggio 2003
Io ho un problemino con i record casuali ad esempio 4 record, in pratica eseguo una query faccio il randomize e tiro fuori 4 record casuali con un ciclo for, fino a qui tutto ok, ma se il numero casuale corrisponde all'ultimo record (questo fino al quart'ultimo poichè ho scelto quattro numeri) si ripete in visualizzaione lo stesso record. Es: se il numero corrisponde al terz'ultimo record, nella visualizzazione avro record 1, record 2 ripetuto altre due volte.

ecco il codice:

sResult = ASPObj.SqlSelect("SELECT * FROM prodotti where (status = 'true')")' and (news = 'true')")

if sResult <> "select" then
Session("err") = "Select" & sResult
Response.Redirect("error.asp")
end if

upB = ASPObj.RecCount
if upB > 4 then

Randomize

n = Int( (upB - 0 + 1) * Rnd + 0 )

ASPObj.RecMove(n)
for nfor = 1 to 4

descr = ASPObj.FieldByName("descr")
tipo = ASPObj.FieldByName("cons")
codiceprod = ASPObj.FieldByName("cod_prod")

ASPObj.RecNext
next

Grazie
11.886 messaggi dal 09 febbraio 2002
Contributi
non ho guardato il tuo codice ^^ penso che sia più semplice ordinare casualmente i record ed estrarre i primi 4. Guarda:

SELECT TOP 4 * FROM prodotti ORDER BY RND(id)

Assumendo che tu stia usando Access, heh...
La funzione RND restituisce valori sempre diversi se gli passi come argomento un id univoco.

Enjoy learning and just keep making

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.