banner "schedculati" senza dover refreshare la pagina

  • Creatore Discussione Creatore Discussione temino
  • Data di inizio Data di inizio

temino

Utente Attivo
22 Gen 2011
47
0
0
Salve a tutti,

un cliente mi ha sottoposto il seguente problema:

in una pagina del suo sito trasmetterà uno straming in cui venderà in diretta dei prodotti.

Lui vorrebbe la possibilità di visualizzare sotto la finestra di streaming un banner temporaneo (cioè che ad esempio alle 9:00 cambia e poi ricambia alle 9:20 e così via) e lui dovrà poter schedulare i banner inserendo: url del banner, relativo href, ora di inizio + data , ora di fine + data (anche a codice).

Dato che sarà uno streaming continuo mi serve una soluzione che permetta di refreshare il banner senza però dover refreshare la pagina.

Avete dei suggerimenti? perchè sinceramente non so dove sbattere la testa.

Grazie in anticipo!
 
Ciao, la funzione javascript per cambiare immagine è semplice
Codice:
        document.getElementById("immagine_banner").src = link;
per memorizzare i banner e gli orari avrai bisogno di un linguaggio dinamico tipo php, di conseguenza puoi ceare il codice javascript prendendo i dati dal database.
 
ti ringrazio!! ..comunque ammettiamo che imposto una funzione in php che attraverso un piccolo pannello mi permette di caricare i vari banner su un db con i seguenti campi : id - url_banner - href_banner - data_inizio - ora_inizio - data_fine - ora_fine poi come faccio a fare il resto?? con php e mysql non ho problemi ... è il javascript che mi mette in difficoltà...
 
La soluzione più semplice per quanto mi riguarda è tramite AJAX:
fai una chiamata a intervalli di tempo ( per esempio ogni cinque minuti ) ad una pagina php che si occuperà di richiedere al database l'immagine da mostrare in base alla fascia oraria e di restituirla alla pagina chiamante. Se puoi includere la libreria jquery il codice javascript diventa veramente minimo. Qui sul forum abbiamo trattato diverse volte l'argomento per svariati motivi.
In alternativa si potrebbe scaricare l'intero palinsesto all'apertura della pagina, con i dati creare un array javascript con immagine e fascia oraria, creare una funzione che verrà richiamata sempre a intervalli ( setInterval() ) e cercare di volta in volta nell'array quale immagine mostrare.
 
Visto che avanzavo qualche minuto ti ho preparato un esempio
la pagina che conterrà il banner
HTML:
<!DOCTYPE html>
<html>
    <head>
        <title>Banners</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                cambiaBanner();
                setInterval(function(){
                    cambiaBanner();
                },30000); // 5 min in millesecondi
            });
            function cambiaBanner() {
                $.post("caricabanner.php", function(response) {
                    $("#banner").html(response);
                });
            }
        </script>
    </head>
    <body>
        <div id="banner">

        </div>
    </body>
</html>
la pagina caricabanner.php che si occupa del recupero immagine
PHP:
<?php

$sql = new mysqli("localhost", "root", "password", "database");
$ora = (int) date("Hi");
$query = "SELECT url FROM banners WHERE inizio > $ora LIMIT 1";
$result = $sql->query($query);
$row = $sql->fetch_assoc();
echo "<img src='" . $row['url'] . "' alt='" . $row['url'] . "'/>";
?>
Non ho testato, è giusto er darti un idea
 

Discussioni simili