• User

    Slideshow collegato ad un database

    Ciao a tutti, ecco ad esporre un nuovo problemino 🙂 :
    Ho inserito in una pagina HTML il javascript "Ultimate Fade In Slideshow v2.0".
    Il mio obiettivo e' quello di inserire le immagini da un database anzichè dentro il codice JAVASCRIPT. Mi spiego meglio... questo e' il codice Javascript STANDARD:

    <script type="text/javascript">
    //Script per Fade In Slideshow
    var mygallery=new fadeSlideShow({
    wrapperid: "fadeshow1", //ID of blank DIV on page to house Slideshow
    dimensions: [253, 253], //width/height of gallery in pixels. Should reflect dimensions of largest image
    imagearray: [
    ["logo.gif", "linksito", "_new", "Clicca qui per entrare"],

    la parte che ci interessa e' IMAGEARRAY.
    ci sono praticamente 4 valori che sono :

    1. l'immagine che apparira' nello slideshow.
    2. il link che viene attivato cliccando sull'immagine.
    3. l'opzione "_new" per far aprire la pagina in una nuova scheda/finestra
    4. il messaggio che appare sotto l'immagine.

    Ora, tutto funzionerebbe tranquillamente aggiungendo MANUALMENTE questi 4 valori per ogni immagine che si vuole mostrare.

    Io vorrei invece prendere questi valori da un database ed inserirli nell'immagearray con un ciclo for/next (per intenderci).

    Da tener presente che il numero di record da visualizzare possono variare di volta in volta, pertanto questa soluzione (Che comunque non mi funziona) non è valida:
    imagearray: [
    ["<?=$image1?>", "", "", ""],
    ["<?=$image2?>", "", "", ""],
    ["<?=$image3?>", "", "", ""],
    ["<?=$image4?>", "", "", ""],
    ["<?=$image5?>", "", "", ""]

    proprio perchè il totale delle immagini possono essere di piu o di meno.


  • Super User

    Ciao criccroc,
    il fatto che le immagini possano essere più o meno di quattro non incide sul funzionamento dello script, dunque il problema dovrebbe essere un'altro.


  • User

    Probabilmente sono anche io che non mi spiego benissimo 🙂 quindi andiamo a vedere cosa vorrei realizzare:

    Vorrei avere in una pagina html una finestra in cui vengano visualizzate delle immagini pubblicitarie a rotazione (slideshow). Per far questo ho utilizzato uno dei tanti script che si trovano sulla rete: "Ultimate Fade In Slideshow", che a quanto pare e' abbastanza utilizzato dato che altri utenti in vari forum, stranieri e non, parlano anche di questo script.

    La caratteristica di questo script è che puoi visualizzare le immagini con queste caratteristiche (per me importanti):

    1. l'immagine,
    2. il link,
    3. un commento scritto.

    Per far questo, basta inserire questi 3 parametri, separati con virgola, dentro lo script. Ecco un esempio come spiegato precedentemente:

    imagearray: [
    ["logo.gif", "linksito", "_new", "Clicca qui per entrare"],
    ["immagine2.gif", "linksito2", "_new", "Sconti del 10%"],
    etc etc. etc.

    Ora, per poter gestire meglio questo script, ho la necessità che questi dati siano in un database mysql. Quindi dovrei modificare questo script affinchè i dati vengano letti dal database.

    In alcuni forum hanno provato a rispondere facendo un unica pagina mista di codice HTML e PHP (cosa che a me non ha mai funzionato).
    Quindi la prima riga dello script sarebbe la seguente:
    ["<?=$image1?>", "", "", ""], come potete notare e' stato inserito una parte di codice PHP dove la variabile $image1="logo.gif".

    Per me andrebbe bene qualsiasi altro script purchè abbia queste caratteristiche.

    il fatto che le immagini possano essere più o meno di quattro non incide sul funzionamento dello script, dunque il problema dovrebbe essere un'altro.
    In parte e' sbagliato, perchè lo script prevede una VIRGOLA tra una immagine e un altra, quindi bisogna anche conoscere l'esatta quantita' di immagini che, come ho detto precedentemente, può variare di volta in volta. Ecco quindi che servirebbe un ciclo for/next che nell'ultima immagine NON INSERISCA la virgola finale (ma questo sarebbe il problema minore).

    Per concludere quindi la domanda e' la seguente:
    Come posso passare a questo script una VARIABILE?
    o in alternativa:
    Quale altro script potrei utilizzare?

    Grazie.


  • Super User

    Io semplicemente farei una query al database, mi verrà restituito un array.
    Eseguo un while in cui controllo che:
    se il "count" del ciclo è diverso da zero allora fai precedere ","

    Ho fatto parecchie volte questo con vari javascript e non ho mai avuto problemi.