Formattare tabella Immagini

Nicola Fautelli

Nuovo Utente
1 Apr 2015
2
0
0
Ciao a tutti,
sono nuovo del forum e anche del linguaggio PHP.
Ho trovato alcuni script che fanno al caso mio e li ho sistemati a mio piacimento.
Unico problema che quando visualizzo la mia galleria fotografica, il risultato è osceno.
Io vorrei impaginare le foto in 5 colonne per un massimo di 25 foto per pagine e quindi 5 righe.

Vi scrivo parte del codice che utilizzo sperando che qualcuno possa aiutarmi.
Grazie mille.

PHP:
//Se si sta visualizzando l'indice allora utilizzo la paginazione propria dell'indice
        if ($mode == "index" || empty($mode) || !isset($mode)) 
        {
            ########################
            #   Paginazione per       #
            #  la visualizzazione  #
            #      dell'indice       #
            ########################
            
            // Se si è scelto di utilizzare la paginazione (vedi file config_gallery.php) allora vengono stampati i links.
            // Altrimenti verranno visualizzate tutte le immagini nella stessa pagina.         
            if (empty($numperpagina)) 
            {
                $numperpagina = count($image);
            }
            isset($_GET['page']) ? $pageNum = $_GET['page'] : $pageNum = 1;
            
            $inizio = ($pageNum - 1) * $numperpagina; 
            $fine = $inizio + $numperpagina;
            
            $i = 1; //inizializzo l'indice
            foreach ($image as $id => $nome)
            {
                if ($i > $fine)
                {  
                  break;
                }
              
				
                if ($i >= $inizio)
                {   // stampa la miniatura
                    echo " <a href=\"?id=$i&amp;from=$pageNum&amp;mode=view\"><img src=\"".$destination_path.$nome."\" title=\"".$nome."\" border=\"0\" alt=\"foto\" /></a>";
                }
                   
                $i++; // incremento dell'indice
            }
            
            if ($fine > count($image))
            { 
                $fine = count($image);
            }    
 
            // Conto delle pagine
            $maxPage = ceil(count($image)/$numperpagina);
            
            // Creazione link per accedere ad ogni pagina
            $self = $_SERVER['PHP_SELF'];
            $nav  = '';
            for($page = 1; $page <= $maxPage; $page++)
            {
               if ($page == $pageNum)
               {
                  $nav .= " $page "; 
               }
               else
               {
                  $nav .= " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\">$page</a> ";
               }
            }
            
            // Creazione links Previous e Next
            // e quelli First page e Last page
             
            if ($pageNum > 1)
            {
            $page  = $pageNum - 1;
               $prev  = " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\"><< precedente</a> ";
            }
            else
            {
               $prev  = ''; // se siamo nella 1° pag non mostriamo Prev
            }
            
            if ($pageNum < $maxPage)
            {
            $page = $pageNum + 1;
               $next = " <a href=\"?page=$page\" title=\"Pagina $page di $maxPage\" >successivo >></a> ";
            }
            else
            {
               $next = ''; // siamo nell' ultima pag, nn mostriamo Next
            }

            // mostra i links di navigazione
            echo "<br />Pagine: ", $prev . $nav . $next ;
            //print_r($image);
        }
        
        //Se si sta visualizzando a singola foto allora utilizzo la paginazione per visualizzare i link "precedente", "torna indietro" e "successiva"
        elseif ($mode == "view")
        {
            ########################
            #   Paginazione per    #
            #  la visualizzazione  #
            #  della singola foto  #
            ########################
            
            //Aquiusizione dell'id della foto. Default: 1
            isset($_GET['id']) ? $id = $_GET['id'] : $id = 1 ;
            
            //Stampa a video della foto
            echo "<img src=\"".$dir.$image[$id]."\" title=\"\" alt=\"".$image[$id]."\" />";
            echo "<br />".$image[$id];
            
            //Categoria da cui si proviene
            if (isset($_GET['from']))
            {
                $from = $_GET['from'];
            }
            else $from = 1;
            
            //Link Foto Precedente
            if ($id == 1)
            {
                $precedente = ""; //Se siamo nella prima pagina non mostriamo il link alla foto precedente
            }
            else 
            {
                $prev = $id - 1;
                $precedente = "<a href=\"?id=$prev&amp;from=$from&amp;mode=view \"><< Foto precedente</a>";
            }
            
            // Link Foto Successiva
            if ($id == count($image))
            {
                $successiva = ""; //Se siamo nella ultima pagina non mostriamo il link alla foto successiva
            }
            else 
            {
                $next = $id + 1;
                $successiva = "<a href=\"?id=$next&amp;from=$from&amp;mode=view \">Foto successiva >></a>";
            }
            
            //Stampa paginazione
            echo "<br /><br />".$precedente."&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"?page=$from\">Indice foto</a>&nbsp;&nbsp;&nbsp;&nbsp;".$successiva;        
        }
        
?>
 
Ultima modifica di un moderatore:
Ciao, il codice postato è privo di markup (HTML/CSS) quindi è normale che php metta le immagini "appena trova spazio"...
Il posizionamento degli oggetti nelle pagine non è dettato da php ma dai cosiddetti fogli di stile ossia CSS.
 

Discussioni simili