Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407

    caricare un banner random..

    salve ragazzi,

    io ho questa situazione una srie di banner in un bd di access.
    La struttura della tabella potrebbe essere:

    id
    nome-banner

    a priori non conosco o non dovrei conoscere il numero di record da cui è composto il db.
    di conseguenza dovrei fare una query che mi prende a caso un record dal numero 1 al numero x dove per x è l'ultimo record della tabella
    posso strutturare il tutto in maniera che sia la query a fare la scelta random o che altro devo fare?

    Grazie

  2. #2
    fai una count che conta i tuoi record e poi il random da 1 a al risultato della query

  3. #3
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    vediamo se ho capito...

    codice:
    banner=""
    Nomebanner=""
    Numerobanner=0
    
    'apro la connessione con il db
    set myConn1 = server.CreateObject("ADODB.Connection")
    dim strConnDb1
    strConnDb1 = ""
    strConnDb1 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/testisito.mdb")
    myConn1.Open(strConnDb1)
    		
    mySqlSelect1 = "select * from banner order by id"
    set myRSComS1 = server.CreateObject("ADODB.Recordset")
    myRSComS1.Open mySqlSelect1, myConn1
     
    if not(myRSComS1.EOF) and not(myRSComS1.BOF) then	
    	do while not(myRSComS1.EOF)	
    	  Numerobanner = Numerobanner + 1
    	  myRSComS1.MoveNext
    	loop
    end if
    
    myRSComS1.Close
    set myRSComS1 = nothing	
    myConn1.Close
    set myConn1 = nothing
    così arrivo ad avaere nella variabile numerobanner il numero di record di cui è composta la tabella... ma la funzione random del tipo:

    codice:
    Randomize 
    Valore= int(Numerobanner * Rnd)
    banner= "/public/banner/" & myRSComS1("nomebanner")
    dove la inserisco?


    grazie

  4. #4
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    codice:
    <%
    'determino il banner che andrà visualizzato affianco al titolo
    Banner=0
    Numerobanner=0
    Nomebanner=""
    dim arrayBanner(100)
    
    'apro la connessione con il db
    set myConn1 = server.CreateObject("ADODB.Connection")
    dim strConnDb1
    strConnDb1 = ""
    strConnDb1 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/testisito.mdb")
    myConn1.Open(strConnDb1)
    		
    mySqlSelect1 = "select * from banner order by id"
    set myRSComS1 = server.CreateObject("ADODB.Recordset")
    myRSComS1.Open mySqlSelect1, myConn1
     
    if not(myRSComS1.EOF) and not(myRSComS1.BOF) then	
    	do while not(myRSComS1.EOF)	
    	  Numerobanner = Numerobanner + 1
    	  arrayBanner[Numerobanner] = myRSComS1("nomebanner")
    	  myRSComS1.MoveNext
    	loop
    end if
    
    myRSComS1.Close
    set myRSComS1 = nothing	
    myConn1.Close
    set myConn1 = nothing	
    
    'Randomize 
    'Banner= int((Numerobanner * Rnd)+1)
    'Nomebanner= "/public/banner/" & arrayBanner[Banner]   
    
    'response.write(Banner)
    'response.write(Nomebanner)
    'response.end()
    
    
    %>
    qualcuno saprebbe spiegarmi dove sto sbagliando visto che quando carico la pagina online mi viene dato http 500 errore interno del server e non si visualizza na mazza....

    grazie

  5. #5
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    scusate ma non c'è un modo per fare già nella query il calcolo del numero dei record e l'estrazione di uno di questi in maniera random in modo che poi io non devo far altro che associare il nome del banner alla variabile

    Grazie

  6. #6
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    help me!

  7. #7

  8. #8
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    Originariamente inviato da santino83
    guarda ne hanno discusso qui http://forum.html.it/forum/showthrea...t=order+random
    ma a me non serve un ordinamento casuale, ma l'estrazione di un record... :master:

  9. #9
    l'estrazione di uno di questi in maniera random

    ordinali in maniera random e poi estrai solo il primo con TOP 1 * no?

  10. #10
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    2,407
    ni sembra di andare a roma passando per palermo....

    alla fine io un codice l'avrei anche fatto ma non capisco perchè non debba funzionare....

    codice:
    ContaId=0
    NumeroBanner=0
    Nomebanner=""
    Link = ""
    
    'apro la connessione con il db
    set myConn1 = server.CreateObject("ADODB.Connection")
    dim strConnDb1
    strConnDb1 = ""
    strConnDb1 = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = " & server.mappath("/mdb-database/testisito.mdb")
    myConn1.Open(strConnDb1)
    		
    mySqlSelect1 = "select * from banner"
    set myRSComS1 = server.CreateObject("ADODB.Recordset")
    myRSComS1.Open mySqlSelect1, myConn1
    
    if not(myRSComS1.EOF) and not(myRSComS1.BOF) then
      	do while not(myRSComS1.EOF)	
    	  ContaId = ContaId + 1
     	  myRSComS1.MoveNext
    	loop	  
    end if
    
    randomize
    NumeroBanner = int((ContaId * Rnd) + 1)
    myRSComS1.move NumeroBanner
    NomeBanner = myRSComS1("nomebanner")
    Link = myRSComS1("link")
    
    myRSComS1.Close
    set myRSComS1 = nothing	
    myConn1.Close
    set myConn1 = nothing	
    
    response.write(NumeroBanner)
    response.write(NomeBanner)
    response.end()
    ma non funziona perchè http://www.ro76.it/homepage.asp non mi da la pagina...

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.