Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Impaginazione gallery

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360

    Impaginazione gallery

    Salve,

    uso quetso codice per una image gallery
    Codice PHP:
    <?php 
        
    include("config.inc.php"); 

        
    // initialization 
        
    $result_array = array(); 
        
    $counter 0

        
    $cid = (int)($_GET['cid']); 
        
    $pid = (int)($_GET['pid']); 

        
    // Category Listing 

        
    if( empty($cid) && empty($pid) ) 
        { 
            
    $number_of_categories_in_row 4

            
    $result mysql_query"SELECT c.category_id,c.category_name,COUNT(photo_id) 
                            FROM gallery_category as c 
                            LEFT JOIN gallery_photos as p ON p.photo_category = c.category_id 
                            GROUP BY c.category_id" 
    ); 
            while( 
    $row mysql_fetch_array$result ) ) 
            { 
                
    $result_array[] = "[url='viewgallery.php?cid=".$row[0]."']".$row[1]."[/url] "."(".$row[2].")"
            } 
            
    mysql_free_result$result );     

            
    $result_final "<tr>\n"

            foreach(
    $result_array as $category_link
            { 
                if(
    $counter == $number_of_categories_in_row
                {     
                    
    $counter 1
                    
    $result_final .= "\n</tr>\n<tr>\n"
                } 
                else 
                
    $counter++; 

                
    $result_final .= "\t<td>".$category_link."</td>\n"
            } 

            if(
    $counter
            { 
                if(
    $number_of_categories_in_row-$counter
                
    $result_final .= "\t<td colspan='".($number_of_categories_in_row-$counter)."'></td>\n"

                
    $result_final .= "</tr>"
            } 
        } 


        
    // Thumbnail Listing 

        
    else if( $cid && empty( $pid ) ) 
        { 
            
    $number_of_thumbs_in_row 5

            
    $result mysql_query"SELECT photo_id,photo_caption,photo_filename FROM gallery_photos WHERE photo_category='".addslashes($cid)."'" ); 
            
    $nr mysql_num_rows$result ); 

            if( empty( 
    $nr ) ) 
            { 
                
    $result_final "\t<tr><td>No Category found</td></tr>\n"
            } 
            else 
            { 
                while( 
    $row mysql_fetch_array$result ) ) 
                { 
                    
    $result_array[] = "[url='viewgallery.php?cid=$cid&pid=".$row[0]."'][img]".$images_dir."/tb_".$row[2]."[/img][/url]"
                } 
                
    mysql_free_result$result );     

                
    $result_final "<tr>\n"
         
                foreach(
    $result_array as $thumbnail_link
                { 
                    if(
    $counter == $number_of_thumbs_in_row
                    {     
                        
    $counter 1
                        
    $result_final .= "\n</tr>\n<tr>\n"
                    } 
                    else 
                    
    $counter++; 

                    
    $result_final .= "\t<td>".$thumbnail_link."</td>\n"
                } 
         
                if(
    $counter
                { 
                    if(
    $number_of_photos_in_row-$counter
                
    $result_final .= "\t<td colspan='".($number_of_photos_in_row-$counter)."'></td>\n"

                    
    $result_final .= "</tr>"
                } 
            } 
        } 

        
    // Full Size View of Photo 
        
    else if( $pid 
        { 
            
    $result mysql_query"SELECT photo_caption,photo_filename FROM gallery_photos WHERE photo_id='".addslashes($pid)."'" ); 
            list(
    $photo_caption$photo_filename) = mysql_fetch_array$result ); 
            
    $nr mysql_num_rows$result ); 
            
    mysql_free_result$result );     

            if( empty( 
    $nr ) ) 
            { 
                
    $result_final "\t<tr><td>No Photo found</td></tr>\n"
            } 
            else 
            { 
                
    $result mysql_query"SELECT category_name FROM gallery_category WHERE category_id='".addslashes($cid)."'" ); 
                list(
    $category_name) = mysql_fetch_array$result ); 
                
    mysql_free_result$result );     

                
    $result_final .= "<tr>\n\t<td> 
                            [url='viewgallery.php']Categories[/url] &gt;  
                            [url='viewgallery.php?cid=
    $cid']$category_name[/url]</td>\n</tr>\n"

                
    $result_final .= "<tr>\n\t<td align='center'> 
                        
     
                        [img]"
    .$images_dir."/".$photo_filename."[/img] 
                        
     
                        
    $photo_caption 
                        </td> 
                        </tr>"

            } 
        } 

    // Final Output 
    echo <<<__HTML_END 

    <html
    <
    head
        <
    title>Gallery View</title
    </
    head
    <
    body
    <
    table width='100%' border='0' align='center' style='width: 100%;'
    $result_final         
    </table
    </
    body
    </
    html

    __HTML_END
    ?>
    e permette:

    - visualizzazione link gallerie
    - possibilità di entrare in una categoria della galleria con visualizzazione miniature foto
    - clic su una miniatura per ingradimento foto

    vorrei impaginare però la cosa come quello che allego, parlo del PHP, non del codice CSS. Le gallerie 05, 06, 07, 08, ecc, sarebbero visualizzabili cambiando pagina, andando alla 2, con la paginazione in basso.

    Vedo una complessità, ovvero quella di fare più SELECT e separate nella stessa pagina, fino ad ora avevo fatto sempre SELECT singole che visualizzavano ad esempio una galleria alla volta, ma in questo caso devo poter visualizzare più categorie contemporaneamente.
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Nessuna soluzione da suggerire per il mio problema?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Aggiungo qualche cosa... probabilmente dovrei lavorare con un cliclo while ma mi rimane ancora non chiaro su come fare, come incolonnare i dati e come creare la paginazione per passare dalla pagina 1 alla 2, forse nella SELECT con un LIMIT, ma come?

    Un aiuto please...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Ma proprio nessuna soluzione o mi sono spiegato male?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Ragazzi.... stò scoppiando sul perché non ricevo risposte, qual'è il problema?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Mi sembra di essere invisibile in quetso forum con il mio problema... e non capisco il motivo...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Aiuto!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Il database è composto nel seguente modo

    tabella gallery_category
    con campo category_id e category_name

    tabella gallery_photos
    con campo photo_id, photo_filename, photo_caption e photo_category,

    Il collegamento tra foto e categoria viene fatto grazie al campo photo_category rispecchiando le info di category_id

    Come detto forse bisognerebbe lavorare con un ciclco while fare una SELECT di gallery_category su una colonna, un altra sull'altra colonna, ecc, ma come?

    Stò diventando matto! Aiutatemi!

  9. #9
    Perdonami se sarò franco, ma sono giorni che chiedi aiuto per questo tuo problema. Se in casa hai una tubatura che perde e non sei in grado di ripararla da te immagino che non ti poni alcuno scrupolo nel chiamare immediatamente un idraulico. Bene allora, visto anche il periodo di crisi in cui ci troviamo, perchè non contattare qualcuno che sappia fare il lavoro da te richiesto? La trovo la cosa più naturale al mondo. Non capisco perchè nell'informatica si tenti sempre di mettere le mani in cose che non si capiscono piuttosto che richiedere delle prestazioni professionali a persone competenti.
    Premesso questo, ti consiglio di postare nella sezione Offro lavoro/collaborazione

    Senza offesa e polemica.
    Un saluto
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    360
    Originariamente inviato da satifal
    Perdonami se sarò franco, ma sono giorni che chiedi aiuto per questo tuo problema. Se in casa hai una tubatura che perde e non sei in grado di ripararla da te immagino che non ti poni alcuno scrupolo nel chiamare immediatamente un idraulico. Bene allora, visto anche il periodo di crisi in cui ci troviamo, perchè non contattare qualcuno che sappia fare il lavoro da te richiesto? La trovo la cosa più naturale al mondo. Non capisco perchè nell'informatica si tenti sempre di mettere le mani in cose che non si capiscono piuttosto che richiedere delle prestazioni professionali a persone competenti.
    Premesso questo, ti consiglio di postare nella sezione Offro lavoro/collaborazione

    Senza offesa e polemica.
    Un saluto
    Mi era sembrato di aver postato in forum pubblico dove l'aiuto reciproco e gratuito era la prima cosa, a testimoninza del fatto di milioni di topic aperti con risposte... mi sbagliavo!

    Nessun utente poi ha mai messo in evidenza l'evetuale complessità di quanto richiesto da valutare quindi come un vero e proprio lavoro ad-hoc e non una semplice modifica di codice.

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.