Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    bottoni avanti indietro in galleria di immagini

    ciao a tutti
    da tempo uso una semplicissima galleria di immagini che funziona senza database e che è facilmente adattabile a qualunque layout
    questa "pesca" le immagini da una cartella "images" e le icone da una cartella "thumbs"
    e restituisce il tutto a seconda della struttura html+css in cui è strutturata
    Codice PHP:
    <?
    $galerydir 
    "foto/wedding/01"//The gallery folder
    $imagedir "$galerydir/images"//The image folder
    $thumbdir "$galerydir/thumbs"//The thumbnail folder
    $columns 20//How many images displayed per line
    $link $_GET['foto'];//registra la variabile "foto" che viene passata dal link del menu
    ?>
    <div id="foto">
        <? if ($show == ""//mostra la prima immagine all'apertura della galleria
            
    {
            print 
    "<img src=\"$imagedir/01.jpg\" alt=\"Copyrigth by Daniele Pennati\" />";
            }
            elseif (
    $show != "")//mostra l'immagine corrispondente all'icona cliccata
            
    {
            print 
    "<img src=\"$imagedir/$show\" alt=\"Copyrigth by Daniele Pennati\" />";
            }
        
    ?>
    </div>
    <div id="thumbs">
        <?php 
            $i
    =0;
            
    $handle=opendir($imagedir); 
            while (
    false!==($file readdir($handle))) { 
                if (
    $file == $show) {
                    
    $classe "selezione";
                     }
                elseif (
    $file!= $show){
                    
    $classe "trasparente";
                     }
                if (
    $file != "." && $file != "..") { 
                  print 
    "<a href=\"index.php?foto=$link&amp;show=$file\"><img class=\"$classe\" onmouseover=\"this.className='normale'\" onmouseout=\"this.className='$classe'\" src=\"$thumbdir/$file\" alt=\"click to enlarge\" /></a>";
                  ++
    $i;
                  if(
    $i == $columns) { print "
    "

                  
    $i 0;
                  }
                } 
            }
            
    closedir($handle);
        
    ?>
    </div>
    ora avrei la necessità di aggiungere un pulsante "avanti" e uno "indietro" che in automatico vadano a pescare la foto dopo o prima di quella mostrata.
    tutte sono numerate in ordine crescente 01, 02,..., xx e vengono ordinare in ordine crescente
    vorrei due righe di codice da applicare ai bottoni che facessero qualcosa tipo
    "se il numero della foto mostrata è xx allora cliccando qui vai alla foto xx+1"
    "se il numero della foto mostrata è xx allora cliccando qui vai alla foto xx-1"

    potete aiutarmi???
    io sono prorpio diguino di php... resco giusto a "leggerlo" ma non a scriverlo...

    grazie mille
    ciao
    daniele

  2. #2
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    invece di usare
    Codice PHP:
    ($show == ""
    usa
    Codice PHP:
    (empty($show)) 
    comunque scusa, mi sembra di capire che nella tua pagina ci siano soltanto le miniature con un link alle versioni ingrandite delle immagini.
    Tu vuoi che l'immagine nel div con id foto venga cambiata con la navigazione che vuoi implementare?
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  3. #3
    per ora si ci sono solo le miniature e l'immagine grande
    voglio aggiungere (cosa che non ho ancora fatto) due bottoni avanti e indietro

    a cosa serve ilc ambiamento che mi suggerisci? è più corretto?

    hai suggerimenti epr i bottoni avanti e indietro?
    vorrei evitare di dover dichiarare all'inizio le immagini e conferirgli un id numerico
    vorrei che la funzione leggesse il nome del file e usasse quello... ma non è possibile, vero?
    se assegno un id ad ogni foto potrebbe funzionare una cosa tipo questa?
    Codice PHP:
     <?php 
            
    if ($picid 1){
                
    $prevpic $picid-1;
                echo 
    "<a href=\"gallery.php?picid=$prevpic\"> < Previous</a>";
            }else{
                echo 
    "";
            }
    ?>
    <?php 
            
    if ($_GET['picid']){
                if (
    $picid $noofpics){
                    
    $nextpic $picid+1;
                    echo 
    "<a href=\"gallery.php?picid=$nextpic\">Next ></a>";
                 }else{
                    echo 
    "<a href=\"gallery.php?picid=1\">Start Again ></a>";
                 }
            }else{
                echo 
    "<a href=\"gallery.php?picid=1\">First ></a>";
            }
    ?>
    ciao e grazie
    daniele

  4. #4
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    usa un array
    gli array sono uno strumento molto potente e funzionale

    Codice PHP:
            $i=0;
            
    $handle=opendir($imagedir);
            while (
    false!==($file readdir($handle))) {
                if (
    $file == $show) {
                    
    $classe "selezione";
                     }
                elseif (
    $file!= $show){
                    
    $classe "trasparente";
                     }
                if (
    is_file($file)) {

                  
    $array_immagini[$i] = $file;
                  
    $i++;
    /*
                  print "<a href=\"index.php?foto=$link&show=$file\"><img class=\"$classe\" onmouseover=\"this.className='normale'\" onmouseout=\"this.className='$classe'\" src=\"$thumbdir/$file\" alt=\"click to enlarge\" /></a>";
                  ++$i;
                  if($i == $columns) { print "
    ";
                  $i = 0;
    */
                  
    }
                }
            }
            
    closedir($handle); 


    /* qui lavori con il tuo array */
    foreach($array_immagini AS $tua_immagine) {
     
    // echo <a href="........

    }

    if(
    $posizione_immagine_attuale min($array_immagini)) {
     echo 
    '<a href="link alla tua immagine ';
    echo 
    $posizione_immagine_attuale--;
     echo 
    ''">precendente</a>';
    }

    if(
    $posizione_immagine_attuale < max($array_immagini)) {
     echo '<a href="
    link alla tua immagine ';
    echo $posizione_immagine_attuale++;
     echo ''">successiva</a>'
    ;

    non ho capito qua'e' il link alla pagina e da dove prendi la $posizione_immagine_attuale
    immagino qualcosa nel $_GET
    vedi tu
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  5. #5
    grazie mille per la risposta!
    devo dire però che non mi è chiarissimo il codice che mi suggerisci... certamente ho poca dimestichezza col tutto
    mi chiedi dove prendo $posizione_immagine_attuale... ma se non lo prendo da nessuna parte... come faccio?

    comunque ho una domanda spero più semplice...
    tralasciando un attimo i pulsanti avanti e indietro che bene o male ho intuito come farli grazie al tuo suggerimento...
    vorrei che al posto delle icone cliccabili la galleria mi mostrare i numeri cresenti 01 02 03 ... xx cliccabili che rimandino alla rispettiva immagine
    dovri dirgli invece di mostrare la tal icona di mostrare il tal valore (potrei farlo creando le immagini coi numeri ma sarebbe veramente troppo rustico anche per me...)

    qualche suggerimento?

    ciao e ancora grazie infinite
    daniele

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.