Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    visualizzazioni a random

    Attualmente sto utilizzando il presente script per visualizzare a random dei banner presenti in un DB.
    Io vorrei visualizzare 5 banner per caricamento della pagina (random) pescando da tutti i banner presenti nel DB.
    Credevo che inserendo top 5 di risolvere il problema ma così non è. Resto in attesa di vostri consigli per risolvere il problema.

    Ciao
    <%
    dim stbanner,sqlb,vai,idbanner,strsql,immagine
    Set STBANNER = Server.CreateObject("ADODB.Recordset")

    SQLB = "SELECT top 5 * FROM tb_banner Where IDbanner And attivazione=True and blocca=false"
    STBANNER.Open SQLB, Conn, 1, 3

    IF STBANNER.EOF THEN
    Response.Write("Nessun Banner")
    ELSE
    'Funzione per generare un record casuale dei banner con ( Randomize )

    Randomize
    Vai = Int((STBANNER.RecordCount * Rnd)+ 0)
    STBANNER.Move(Vai)

    'Estraggo i record dal database
    do Until STBANNER.Eof = true
    IDBanner= STBANNER("IDbanner")
    page=Request.ServerVariables("SCRIPT_NAME")
    Response.Write("" &STBANNER("tuobanner")&"")
    STBANNER.movenext
    loop
    'Tengo conto di tutte le volte che il banner è stato visualizzato

    Conn.Execute("UPDATE tb_click_banner SET impression = impression + 1 WHERE idbanner = '" &idbanner& "'")

    end if
    STBANNER.Close
    Set STBANNER = Nothing

    %>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    uppino

    up
    Proprio nessuno sa indirizzarmi, darmi una dritta come risolvere il problema

    non ci credo sarebbe la prima volta che accade
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Dovevo prendere random 8 elementi di un database in funzione della variabile "visibilità" (valore elevato maggiore è la visibilità)

    Io l'ho risolta così:

    // leggo dal database indice e visibilità
    while($riga=mysql_fetch_array($rs)) {
    for ($i=1;$i<=$riga['visibilita'];$i++){
    $stringa=$stringa . $riga['id']. ",";
    // creo una stringa di valori
    $indice++;
    }
    }

    // estraggo dalla lista 8 elementi random non ripetuti
    // quelli con visibilità alta hanno più probabilità di uscire
    $array_app=explode(",",$stringa);
    $ind=0;
    while ($ind<8){
    $inserisci=1;
    $num=round(rand(0,$indice-1));
    for ($i=0;$i<=$ind;$i++){
    if (($scelti[$i]==$array_app[$num])&&($array_app[$num]!="")) $inserisci=0;
    }
    if ($inserisci==1) {
    $scelti[$ind]=$array_app[$num];
    $ind++;
    }
    }


    // quindi richiamo il database caricando solo i dati degli
    //elementi estratti contenuti nel vettore $scelti[]

    Spero di esserti utile.

    Ciao,
    Alex
    http://www.yappy.it
    Socio donatore AVIS AIDO & ADMO

  4. #4
    Scusa ti invio la versione ASP
    <%
    do while not rs.eof
    for i=1 to rs("visibilita")
    stringa=stringa & rs("id_app") &","
    indice=indice+1
    next
    rs.movenext
    loop
    stringa=left(stringa,instrrev(stringa,",")-1)
    rs.close
    set rs=nothing
    'response.write "stringa(" & id_lingua & ")=" & stringa & "
    "

    ' scelta di 10 appartamenti casuali
    indice=0
    array_app=split(stringa,",")
    Randomize
    do while indice<=9
    inserisci=1
    num=round(rnd*Ubound(array_app))
    for i=0 to indice
    if scelti(i)=array_app(num) then inserisci=0
    next
    if inserisci=1 then
    scelti(indice)=array_app(num)
    'response.write array_app(num)&" "&indice&"
    "
    indice=indice+1
    end if
    loop
    %>

    Ciao,
    Alex

    il funzionamento è lo stesso a quello inviato poco fa'.
    http://www.yappy.it
    Socio donatore AVIS AIDO & ADMO

  5. #5
    Utente di HTML.it L'avatar di Fichico
    Registrato dal
    Nov 2002
    residenza
    Bologna
    Messaggi
    581
    io ho una cosa simile, dove imposto il numero N di banner da visualizzare; nella tabella ci posson esser link con o senza banner ma è solo sui primi che vado a filtrare

    codice:
    <%
    set rs = Server.CreateObject("ADODB.Recordset")
    sql = "SELECT IDLinks, Banner FROM TblLinks WHERE Home = 'S' AND Banner <> '""' AND Not(IsNull(Banner))"
    rs.open sql, conn, 3, 3
    
    if not rs.EOF then
    	esiste_banner = true
    	N = 3 'numero di record casuali da visualizzare
    	Randomize
    	max = rs.RecordCount-1
    	redim arr(max)
    	
    	for i=0 to max  'popolo l'array da 0 al numero di record 
    		arr(i)=i
    	next
    	
    	for i=0 to max  'mischio i numeri in modo casuale
    		casuale = Int((max)*Rnd)
    		temp = arr(i)
    		arr(i) = arr(casuale)
    		arr(casuale) = temp
    	next
    
      'visualizzo gli N record casuali	
    	if max < N then
    		for i=0 to max
    		rs.Move arr(i)
    		banner = banner & "<tr><td align=""center"" valign=""middle"" class=""banner"">[img][/img]</td></tr>"
    		rs.MoveFirst 
    	next
    	else
    		for i=0 to N-1
    		rs.Move arr(i)
    		banner = banner & "<tr><td align=""center"" valign=""middle"" class=""banner"">[img][/img]</td></tr>"
    		rs.MoveFirst 
    	next
    	end if
    	tbl_banner = "
    <table width=""120"" border=""0"" cellpadding=""3"" cellspacing=""2"">" & banner & "</table>"
    else
    	esiste_banner = false
    end if
    rs.close
    set rs = nothing
    %>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Grazie ragazzi ho eseguito delle modifiche al mio script prendedo spunti dai vostri consigli sembra che vada.

    Grazie dei consiglie e alla prossima.

    Ciao
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

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.