Visualizzazione dei risultati da 1 a 8 su 8

Discussione: random 20 record

  1. #1

    random 20 record

    Ho un database access che viene aggionato.
    Devo estrarre a random 20 record e visualizzarlo.
    Con altri linguaggi sarebeb facile ma in asp è un casino
    http://www.actionscript.it/forum/

    www.actiondesign.it

  2. #2

  3. #3
    ti ringrazio ma ho visto il primo link e provandolo mi da il random di una solo voce se faccio un ciclo mi mette anche record uguali....
    ora vedo il secondo
    http://www.actionscript.it/forum/

    www.actiondesign.it

  4. #4
    Hai altri link? non mi sono stati di grande aiuto questi....
    http://www.actionscript.it/forum/

    www.actiondesign.it

  5. #5
    Vediamo se riesco ad aiutarti con un piccolo esempio


    codice:
    <%
    dim ArrayElementi(20)
    dim Contatore
    
    set conn=server.CreateObject("adodb.connection")
    set rs=server.CreateObject("adodb.recordset")
    conn.Open connStr
    
    sql = "Select Colonne from tabella"
    rs.Open sql, conn, 3
    
    'Recupero il recordcount quindi il numero massimo di 
    'record visualizzabili
    recCount = rs.RecordCount
    'inizializzo il contatore degli elementi
    Contatore = 0
    
    '//Faccio un ciclo di 20 per memorizzare in un array gli elementi 
    '//che mi servono escludendo quelli doppi
    do while Contatore < 20
       randomize
    
       'genero il numero del record da estrarre
       rec = int(rnd * recCount)
    
       '//Controllo che non ci sia già all'interno del mio array
       flagEsiste = false
       for intCount = 0 to 19 
          if (ArrayElementi(intCount) = rec) then
             flagEsiste = true
             exit for
          end if
       next
    
       if (Not flagEsiste) then
          ArrayElementi(Contatore) = rec
          Contatore = Contatore + 1
       end if
        
    loop
    
    'dopodichè ciclo sull'array
    for intCount = 0 to 19
      'Mi sposto all'inizio del recordset 
      rs.MoveFirst
      'Mi sposto alla posizione del record
      rs.Move ArrayElementi(intCount)
    %>
    
    <table>
    <tr><td><%= rs("Field1") %></td></tr>
    <tr><td><%= rs("Field2") %></td></tr>
    <tr><td><%= rs("Field3") %></td></tr>
    </table>
    
    <%
    
    next
    
    rs.close
    conn.Close
    set rs=nothing
    set conn=nothing
    
    %>
    Spero che così sia più chiaro

  6. #6
    codice:
    'set connession to database 
    Set objConn=Server.CreateObject("ADODB.Connection")
    
    'open connession to database
    objConn.Open cstring
    
    sqldat = "SELECT COUNT(*) FROM tabella"
    
    Set objRS = objConn.Execute(sqldat)
    
    dim max
    max = objRS(0)
    
    objRS.Close
    Set objRS = Nothing
    
    dim k, casual(20), check
    cont = 0
    check = false
    
    Set objRs = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT testo FROM tabella"
    objRs.Open sql, objConn, 3, 3
    
    do until cont=20
    Randomize()
    casual(cont) = Int(Rnd() * Max) 
    
    ' //// routine per evitare doppioni ////////////////////////////////
    ' (se trova un record già estratto torna su senza incrementare cont)
    ' //////////////////////////////////////////////////////////////////
    	for k=0 to (cont-1)
    		if casual(cont)=casual(k) then check=true 				
    	next
    ' ///////////////////////////////////////////////////////////////////
    
    If Not (objRs.EOF OR check) Then
    
    objRs.Movefirst
    objRs.Move casual(cont)
    
    		testo=objRS("testo")
    	
    	if not testo="" then 'evita record vuoti
    %>
    <div><%=testo %></div>
    <hr/>
    
    
    
    <%
    
    cont=cont + 1
    
    end If
    end if
    check = false
    
    	loop
    
    objRs.Close
    Set objRs = Nothing
    Così presenti 20 volte il contenuto del campo "testo" di un record casuale della tabella "dati"

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  7. #7
    Praticamente, salvo qualche sottigliezza, le due procedure suggerite sono la stessa cosa.....

    E' nato www.lombardiamotori.it

    www.universocase.it: il primo portale italiano di annunci immobiliari gratuiti e autogestiti!

  8. #8
    Si infatti ... ci sono talmente tanti modi

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.