Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194

    Impaginare records random

    Salve, il mio problema è questo:
    devo impaginare su 2 colonne 6 records scelti in maniera random.
    Per la ricerca random utilizzo il seguente script:
    codice:
    if not rcd.EOF then
      N =6 'numero di record casuali da visualizzare
      Randomize
      max = rcd.RecordCount-1
      redim arr(max)
      'popolo l'array da 0 al numero di record 
      for i=0 to max
    	arr(i)=i
      next
      'mischio i numeri in modo casuale
      for i=0 to max
        casuale = Int((max)*Rnd)
    	temp = arr(i)
    	arr(i) = arr(casuale)
    	arr(casuale) = temp
      next
      'visualizzo gli N record casuali
      for i=0 to N-1
        rcd.Move arr(i)
    .......
    
    <%rcd.MoveFirst
    next			
    End If
    %>
    Per la paginazione in colonna, non ho ancora trovato uno script che posso adattare al mio caso.
    L'impaginazione dovrebbe avvenire così:

    record1 record3
    record2 record4
    ......

    Qualche consiglio??
    Grazie
    Ros.

  2. #2
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Sicuramente è un problema un po' spinoso.
    Con la ricerca ho trovato alcuni script per l'incolonnamento
    ma non riesco ad adattarli al mio scopo.
    Ros.

  3. #3
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Ok allora provo a risolvere il problema in modo inverso.
    Ho paginato alcuni risultati del Db:
    codice:
    <%colonne=1
    For i = 1 to 6
    If Not rcd.EOF then
    if colonne=3 then
    colonne=1 
    %>
    </tr><tr>
    <%end if%>
    <td  width="33%" align="center">
    <%=denominazione%>
    
    <%=informazioni%></td>
    <%colonne=colonne+1%>
    <%rcd.MoveNext
    End if
    Next
    %>
    Come effettuare la ricerca random??
    Ros.

  4. #4
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Provando e riprovando al momento sono a questo script:
    codice:
    .......
    if not rcd.EOF then
      N =6 'numero di record casuali da visualizzare
      Randomize
      max = rcd.RecordCount-1
      redim arr(max)
      'popolo l'array da 0 al numero di record 
      for i=0 to max
    	arr(i)=i
      next
      'mischio i numeri in modo casuale
      for i=0 to max
        casuale = Int((max)*Rnd)
    	temp = arr(i)
    	arr(i) = arr(casuale)
    	arr(casuale) = temp
      next
      'visualizzo gli N record casuali
      for i=0 to N-1
        rcd.Move arr(i)
    %>
    <table>
    <tr> 
    <%
    colonne=1 
    do while not rcd.EOF
    if colonne=3 then 
    colonne=1
    %> 
    </tr><tr> 
    <%end if%> 
    <td width="200"><%=denominazione%>
    <%=informazioni%></td> 
    <%colonne=colonne+1 
    rcd.MoveNext 
    Loop 						
    rcd.MoveFirst
    next			
    End If
    %>
    						
    </tr>
    </table>
    Lo script produce i 6 records richiesti, ma li inserisce su tutte e due le colonne,
    a differenza di ciò che io chiedo (3 sulla prima e 3 sulla seconda).
    Un'aiutino??
    Ros.

  5. #5
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Aggiorniamo le ricerche.
    Lo script funge ma sono ancorato alla visualizzazione di una sola tabella. Cioe:
    codice:
    	
    if not rcd.EOF then
      N =6 'numero di record casuali da visualizzare
      Randomize
      max = rcd.RecordCount-1
      redim arr(max)
      'popolo l'array da 0 al numero di record 
      for i=0 to max
    	arr(i)=i
      next
      'mischio i numeri in modo casuale
      for i=0 to max
        casuale = Int((max)*Rnd)
    	temp = arr(i)
    	arr(i) = arr(casuale)
    	arr(casuale) = temp
      next
      'visualizzo gli N record casuali
      for i=0 to N-1
        rcd.Move arr(i)					
    %>
    
    <table>
    <tr>
    <%colonne=1
    if colonne=3 then 
    colonne=1%> 
    </tr><tr> 
    <%end if%> 
    <td><%=denominazione%></td>
     
    <%colonne=colonne+1 	
    rcd.MoveFirst
    next			
    End If					
    %>
    </tr>
    </table>
    Che soluzione ??
    Ros.

  6. #6
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Prima di tutto non mi sembra tu abbia specificato il tipo di database. Voglio dire che se stai usando mysql, esiste una funzione direttamente in query che estrae randomicamente i campi. In secondo luogo, se la paginazione è particolarmente complessa e le informazioni non sono moltissime, ti consiglio di usare getRows per salvare le informazioni in un array bidimensionale, in modo da disporre liberamente delle stesse in modalità disconnessa dal database ed assolutamente più malleabili nell'impaginazione.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  7. #7
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Ok non avevo pensato a questa eventualità e mi scuso.
    Il Db è in Access, in merito alla paginazione, sei il primo che mi richiede più info.
    Pare strano che questa problematica non interessi nessuno.
    Gli script sono totalmente in video.
    L'estrazione random è già predisposta, mi occorre solo una mano a paginare in colonna i 6 records tirati fuori.
    Tutto qui. Credi sia molto complesso?
    Se si mi scuso, non sono molto ferrato in materia.
    Ciao.
    Ros.

  8. #8
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Per oggi credo sia meglio lasciar perdere.
    Dicono che la notte porta consiglio.
    Speriamo.

    Ros.

  9. #9
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Te l'ho detto, prova a cercare per GetRows(), comprendine il funzionamento. Quando i tuoi dati sono chiusi in un array, in modalitá disconnessa dal database, paginarli sará una vera cavolata.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  10. #10
    Utente di HTML.it L'avatar di rosbon
    Registrato dal
    Feb 2001
    Messaggi
    194
    Dici un qualcosa di questo tipo??
    codice:
    Set cn=Server.CreateObject("ADODB.Connection")
    cn.Open STRINGACONNESSIONE
    Set rs=Server.CreateObject("ADODB.Recordset")
    strSQL="SELECT CODICE FROM TABELLA"
    rs.Open strSQL,cn,0,1
    arrdati=rs.getrows()
    rs.close
    set rs=nothing
    cn.close
    set cn=nothing
    Ros.

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.