Visualizzazione dei risultati da 1 a 2 su 2

Discussione: random

  1. #1

    random

    Salve a tutti ragazzi..
    Ho cercato sul forum e ci sono davvero molti thread sull'argomento ma purtroppo ho ancora dei problemi..

    Utilizzo questo codice per estrapolare dati nel db:

    sqlstring = "SELECT Max(ID) AS MaxID, Min(ID) AS MinID FROM tabella WHERE ID_Status = 4"
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.ActiveConnection = objConn
    objRs.Open sqlstring

    maxID = objRs("MaxID")
    minID = objRs("MinID")

    Randomize
    rndID = Int((maxID - minID + 1) * Rnd + minID)

    objRs.Close
    Set objRs = Nothing

    sqlstring2 = "SELECT * FROM tabella WHERE ID_Status = 4 AND ID >=" & rndID &" LIMIT 1 "
    Set objRs = Server.CreateObject("ADODB.Recordset")
    objRs.ActiveConnection = objConn
    objRs.Open sqlstring2

    Il problema è che vengono estrapolati sempre gli stessi ID..
    PERCHE?

    Esiste un altro modo?

    Grazie anticipatamente, de
    Per il vostro piacere di navigare
    nuovemodelle.com
    Quando cominceranno a capirmi mi avranno già programmato...

  2. #2
    Utente di HTML.it L'avatar di viki1967
    Registrato dal
    Feb 2003
    Messaggi
    1,757
    codice:
    <%
    dim iItems()
    iMaxItems = 1
    
    set conn = server.createObject("ADODB.Connection")
    conn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & server.mapPath("\database\db.mdb")
    
    sql = "SELECT * FROM Tabella1"
    
    set rs = server.createObject("ADODB.Recordset")
    rs.open sql, conn, 1, 3
    
    iMax = rs.recordCount
    
    	if iMax < iMaxItems then iMaxItems = iMax	
    	reDim iItems(iMaxItems - 1)
    	for x = 0 to iMaxItems - 1
    	randomize()
    	i = int(iMax * rnd() + 1)
    		for y = 0 to uBound(iItems)
    		alreadyExists = false
    			if iItems(y) = i then
    			alreadyExists = true
    			x = x - 1
    			exit for
    			end if
    		next
    		if not alreadyExists then
    		iItems(x) = i
    		end if
    	next
    	if not rs.eof then
    		for each item in iItems
    		rs.moveFirst
    		rs.move item - 1
    		response.write rs("nomeCanale") & "
    "
    		next
    	end if
    
    rs.close
    set rs = nothing
    conn.close
    set conn = nothing
    %>
    Basta modificare il valore di iMaxItems ad inizio codice per dirgli quanti record random vuoi e il tutto senza doppioni.
    La parte in neretto è quella che scrive i dati nella pagina.
    A S P : tutto il resto è noia...
    L I N U X : forse mi "converto"...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.