Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di naverit
    Registrato dal
    Apr 2002
    Messaggi
    460

    estrarre records casuali diversi fra loro

    ho l'esigenza di estrarre 6 record in maniera casuale da un database access...
    però devono essere diversi tras loro... ovvero non è sufficiente fare 6 estrazioni casuali perchè potrebbero verificarso dei doppioni...

    come posso fare?
    Ars longa...vita brevis.

  2. #2
    Utente di HTML.it L'avatar di Cream
    Registrato dal
    Feb 2002
    Messaggi
    534
    è un bel casino perchè (non uso molto access quindi chiedi conferma) ma access non ha nessuna funzione di select random. Se così fosse dovresti lavorare con più select

  3. #3
    cerca estrazione random nel forum ci sono degli script di esempio...coincettualmente, basta ordinare in maniera random gli elementi e poi estrarne i primi 6...oppure ci sono altre scelte...cerca

  4. #4
    Utente di HTML.it L'avatar di wegawhite
    Registrato dal
    Aug 2004
    Messaggi
    1,400
    Codice PHP:
    <%
    dim iItems()
    iMaxItems 'numero di record da estrarre

    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("nomeCampo") & "
    "
            next
        end if

    rs.close
    set rs = nothing
    conn.close
    set conn = nothing
    %> 

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 © 2025 vBulletin Solutions, Inc. All rights reserved.