Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21

    rotazione banner con mysql

    Salve a tutti ho un problema su cui ci sto sbattendo la testa da un po' di giorni. Ho una tabella nel mio db in cui memorizzo per ogni banner il nome del file, data inizio e data fine, ed una durata (valore numerico diverso per ogni banner) su un totale. Nella pagina devo realizzare una rotazione dei banner automatica senza aggiornare la pagina e facendo in modo che sia rispettata la durata sul totale. Qualcuno sa aiutarmi? grazie in anticipo a tutti
    the dave

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21
    Sto lavorando su questo codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>

    <script language="JavaScript" type="text/javascript">
    <!--
    var tIdX = '';
    var imgIndex = -1;
    var arrImg = new Array();
    var speed = 4000;

    <?php
    //vado a leggere i banner nella tabella del mio db
    $query = "SELECT * FROM banner";
    $ri = mysql_query($query);
    $i=1;
    //creo un ciclo per generare l'array del js
    while ( $dati = mysql_fetch_array($ri) ) {
    $path = $dati["nomefile"];
    ?>

    arrImg[$i] = <?php echo $path; ?>;

    <?
    $i++;
    }
    ?>
    function animateX() {
    clearTimeout(tIdX);
    if (imgIndex < arrImg.length-1) {
    imgIndex++;
    } else {
    imgIndex = 0;
    } // if (imgIndex <= arrImg.lenght-1)
    document.getElementById('myImg').src = arrImg[imgIndex];
    document.getElementById('myImg').alt = imgIndex;
    tIdX=setTimeout('animateX()', speed);
    } // function animateX()

    //-->
    </script>
    </head>
    <body>
    [img][/img]

    <script language="JavaScript" type="text/javascript">
    <!--
    animateX();
    //-->
    </script>
    </body>
    </html>

    Il problema è che non mi carica l'array. Qualcuno sa aiutarmi?
    Grazie

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21
    qualcuno ha un'idea su come fare?

  4. #4
    arrImg[$i] = <?php echo $path; ?>;

    se è questa la riga che ti carica larray è ovvio perche metti la variabile $i fuori dallo script php
    quindi al max dovresti farla cosi


    arrImg[<?php echo $i; ?>] = <?php echo $path; ?>;

    prova cosi e vede se va

    in tanto cerco info in piu sugli array in javascript nel caso nn ti funzionasse
    kmq fammi sapere

  5. #5
    il resto del codice con uno sguardo rapido nn mi sembra errato
    kmq fammi sempre sapere

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21
    grazie mille... era come dicevi tu. ora funziona perfettamente. alla prox

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21
    scusa se ti scoccio ancora... ora il problema si complica. Dovrei fare in modo che la rotazione venga richiamata in due spazi, tipo:
    <body>
    [img][/img]
    <script language="JavaScript" type="text/javascript">
    <!--
    animateX();
    //-->
    </script>
    [img][/img]
    <script language="JavaScript" type="text/javascript">
    <!--
    animateX();
    //-->
    </script>
    </body>

    Ho provato creando un secondo javascript animateY(), cambiando tutte le variabili solo che non mi crea la seconda rotaazione... puoi aiutarmi?
    grazie

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    21
    avrei pensato ad una cosa del genere:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>

    <script language="JavaScript" type="text/javascript">
    <!--
    var tIdX = '';
    var imgIndex = -1;
    var arrImg = new Array();
    var speed = 4000;

    <?php
    //vado a leggere i banner nella tabella del mio db
    $query = "SELECT * FROM banner where id='1'";
    $ri = mysql_query($query);
    $i=1;
    //creo un ciclo per generare l'array del js
    while ( $dati = mysql_fetch_array($ri) ) {
    $path = $dati["nomefile"];
    ?>

    arrImg[<?php echo $i; ?>] = <?php echo $path; ?>;

    <?
    $i++;
    }
    ?>
    function animateX() {
    clearTimeout(tIdX);
    if (imgIndex < arrImg.length-1) {
    imgIndex++;
    } else {
    imgIndex = 0;
    } // if (imgIndex <= arrImg.lenght-1)
    document.getElementById('myImg').src = arrImg[imgIndex];
    document.getElementById('myImg').alt = imgIndex;
    tIdX=setTimeout('animateX()', speed);
    } // function animateX()
    //-------------------------------------------------------
    var btIdX = '';
    var bimgIndex = -1;
    var barrImg = new Array();
    var bspeed = 4000;

    $query2 = "SELECT * FROM banner where id='2'";
    $ri2 = mysql_query($query2);
    $i2=1;
    //creo un ciclo per generare l'array del js
    while ( $dati2 = mysql_fetch_array($ri2) ) {
    $path2 = $dati2["nomefile"];
    ?>

    barrImg[<?php echo $i2; ?>] = <?php echo $path2; ?>;

    <?
    $i2++;
    }
    ?>
    function banimateX() {
    clearTimeout(btIdX);
    if (bimgIndex < barrImg.length-1) {
    bimgIndex++;
    } else {
    bimgIndex = 0;
    } // if (bimgIndex <= barrImg.lenght-1)
    document.getElementById('bmyImg').src = barrImg[bimgIndex];
    document.getElementById('bmyImg').alt = bimgIndex;
    btIdX=setTimeout('banimateX()', bspeed);
    } // bfunction animateX()

    //-->
    </script>
    </head>
    <body>
    <table>
    <tr><td>
    [img][/img]
    </td>
    <td>
    [img][/img]
    <script language="JavaScript" type="text/javascript">
    <!--
    animateX();
    banimateX();
    //-->
    </script>
    </td></tr>
    </table>
    </body>
    </html>

    cioè creare due funzioni (l'ho trovato sul forum). il problema è che la rotazione me la fa solo sul primo banner, mentre sul secondo mi carica l'array solo che non routa...
    ho disperato bisogno d'aiuto... please

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.