Visualizzazione risultati 1 fino 7 di 7

Discussione: Rotazione immagini con database

  1. #1
    Guest

    Predefinito Rotazione immagini con database

    Ciao a tutti,
    ho realizzato una sottospecie di banner che prendendo in modo casuale delle immagini da una cartella le visualizza in un iFrame, andando a prendere dal database un url correlato al nome dell'immagine, l'immagine cambia ogni 5 secondi e quindi anche il relativo url.
    Fino ad ora ho realizzato il tutto utilizzando PHP e modificando secondo i miei utilizzi uno script trovato in rete. Il problema è che ogni 5 secondi viene eseguito il rerfesh dell'iFrame con relativo caricamento annesso ed è proprio questo che voglio evitare; in poche parole vorrei realizzare uno script che prenda le immagini in modo random da una cartella e poi in base al nome dell'immagine interroghi il database per ottenere l'url associato.
    Come posso muovermi??
    Grazie =)

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    AJAX, AJAX, AJAX!
    Puoi creare pagina.php che ti da l'immagine random e poi inserisci nella pagina l'immagine casuale che viene cambiata ogni 5 secondi grazie a setInterval().
    AJAX cambierà l'attributo src all'immagine.
    Se non ci sono obiezioni (vorrei evitare di creare script inutilmente) di qualcuno che dice che si può fare di meglio, beh... nessun problema!
    Bye!

  3. #3
    Guest

    Predefinito

    Ok pensavo di aver capito dal tuo consiglio ma a quanto pare non è così xD
    Quello che non mi è chiaro è come gestire l'aggiornamento dell'immagine, io ora ho il mio file img.php che carica in modo casuale l'immagine e il relativo url da database, è solo php, come gestisco la funzione setInterval() che mi hai consigliato tu
    So che può essere una domanda stupida ma di javascript sono proprio alle prime armi

  4. #4
    provanuke non è connesso Neofita
    Data registrazione
    07-09-2007
    Messaggi
    29

    Predefinito

    Consiglierei di caricare un'unica immagine una sola volta, mettendo le varie immagini in successione (vedere anche sprite css), e ogni TOT secondi invece di ricaricare una pagina con immagine diversa, modifichi solo la posizione di background dell'elemento, senza caricare altro..

  5. #5
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    La soluzione di Provanuke può andare bene se l'insieme di tutte le immagini ha una dimensione modesta, esattamente, che tipo di immagini sono? Formato? Grandezza media? Numero?

    Comunque AJAX (l'oggetto XMLHttpRequest) non è necessario.

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da karl94 Visualizza messaggio
    La soluzione di Provanuke può andare bene se l'insieme di tutte le immagini ha una dimensione modesta, esattamente, che tipo di immagini sono? Formato? Grandezza media? Numero?

    Comunque AJAX (l'oggetto XMLHttpRequest) non è necessario.
    Le immagini sono dei banner 300x250 quindi di dimensioni modeste, pensavo non + di 100kb (visto che le immagini verranno caricate tramite un sistema di upload dall'utente), per quanto riguarda il formato per ora solo JPEG e il numero dipenderebbe dagli utenti del sito, quindi per ora non moltissime immagini, ma spero aumentino

  7. #7
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,744

    Predefinito

    Io scarterei la soluzione di Provanuke, risulterebbe un file troppo grande.
    Ti propongo due soluzioni: inviare la lista delle immagini al client, in un array Javascript e aggiornare l'attributo src dell'immagine a intervalli regolari pescando un indirizzo a caso dall'array;
    la seconda invece consiste nell'aggiornare ad intervalli regolari l'immagine, caricando sempre lo stesso indirizzo di uno script PHP che reindirizzerà a sua volta (tramite l'header HTTP location) verso una immagine, ogni volta scelta a caso.
    La prima soluzione ti permette di risparmiare una richiesta HTTP, quindi qualche istante di caricamento, rinunciando però agli aggiornamenti della lista in tempo reale (un'immagine appena caricata non sarà visualizzabile finché non comparirà nell'array, sarà necessario dunque ricaricare la pagina o costruire un sistema che autoaggiorni l'array).

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •