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

Discussione: Galleria immagini

  1. #1

    Galleria immagini

    Visto che sono quà vi posto un altro problema ! io ho questo script di una galleria fotografica !
    codice:
    // numero di immagini per riga ( consigliato 4 )
    $per_riga = 4;
    
    // Query per selezionare le immagini
    $query = @mysql_query("SELECT * FROM immagini") or die(mysql_error());
    
    // Totale delle immagini
    $totale = mysql_num_rows($query);
    
    // indice per le righe
    $i=0;
    
    // indice per le colonne
    $y=0;
    ///////////////////////////////////////////////////////
    // Creo una variabile dove imposto il numero di record 
    // da mostrare in ogni pagina
    $x_pag = 8;
    
    // Recupero il numero di pagina corrente.
    // Generalmente si utilizza una querystring
    $pag = $_GET['pag'];
    
    // Controllo se $pag è valorizzato...
    // ...in caso contrario gli assegno valore 1
    if (!$pag) $pag = 1; 
    
    // Mi connetto al database
    $conn = mysql_connect("localhost","root","");
    mysql_select_db("colonne", $conn);
    
    // Uso mysql_num_rows per contare le righe presenti
    // all'interno della tabella agenda
    $all_rows = mysql_num_rows(mysql_query("SELECT id_immagini FROM immagini"));
    
    // Tramite una semplice operazione matematica definisco
    // il numero totale di pagine
    $all_pages = ceil($all_rows / $x_pag);
    
    // Calcolo da quale record iniziare
    $first = ($pag - 1) * $x_pag;
    
    // Recupero i record per la pagina corrente...
    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $rs = mysql_query("SELECT * FROM immagini LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rs);
    // Stampo l'inizio della tabella
    echo "
    <TABLE width=\"750\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\" align=\"center\">
    <TR>";
    
    // Ciclo per stampare le immagini
    if ($nr != 0){
      for($x = 0; $x < $nr; $x++){
        $row = mysql_fetch_assoc($rs);
    $i++;
    $y++;
    $vett = getimagesize("immagini/$row[immagini]");
    $text = $row[descrizione];
    $newtext = wordwrap($text, 25, '
    ');
    /** <a href='javascript:info(\"immagini/$row[immagini]\")'> **/
    echo "
    <TD>
    <a href=\"immagini/$row[immagini]\" rel='lightbox'>
    
    <IMG src=\"immagini/$row[immagini]\" width='130' height='130'  border='0'></a>
    
    
    
    
     $newtext
    
    </TD>";
    
    
    if($i == $per_riga)
    {
    echo "</TR>";
        
    if($i == $per_riga && (($y/$per_riga) != $per_riga))
    {
    echo "<TR>\n";
    }
    $i = 0;
    } // Fine if($i == $per_riga)
    } // Fine while($res = mysql_fetch_array($query))
    
    
    if($per_riga <= $y)
    {
    
    if(($totale%$per_riga) != 0)
    {
    
    $ind = $totale;
            
    while(($ind%$per_riga) != 0)
    {
    echo "<TD></TD>";
    $ind++;
    }
    
    if(($ind%$per_riga) == 0)
    {
    echo "</TR>";
    }}
    
    }// Fine if(($totale%$per_riga) != 0)
    
    } else {
    echo "</TR>";
    }
    
    echo "</TABLE>";
    echo "<TABLE width=\"500\" height=\"40\" border=\"0\" cellspacing=\"0\" cellpadding=\"3\" align=\"center\">
    <TR>";
    echo"<TD>";
    if ($all_pages > 1){
    
    				
    				for($i = 0;$i<$all_pages;$i++){
    				$y=$i+1;
    				$first=($i+1);
    				echo"[ $y ]";}
    			}
    echo "</TR></TD>"
    
    ?>
    Prendendo in esame l'esempio del codice sopra ho una galleria di immagini con in ogni riga 4 immagini ed essendo in una pagina massimo 8 immagini avrò 2 righe e due colonne. Io vorrei che in ogni riga lo sfondo della prima cella abbia un colore e la seconda cella un'altro colore cosicchè la terza cella abbia il colore della prima e la quarta cella il colore della seconda !!
    Praticamente una cosa di questo genere per capirci meglio vi allego un immagine
    Immagini allegate Immagini allegate

  2. #2
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    sto per dire una di quelle cavolate gigantesche però se te facessi questa operazione:
    visto che il massimo delle immahgini sono 8 fai: 8 diviso il numero della colonna se viene intero metti un colore se no ne fai mettere un altro.
    scusate per la c.... appena detto pero mi sembra una cosa abbastanza sensata

  3. #3
    Scusa ma la prima e la seconda colonna come dici tu verrebberò uguali viene fuori sempre un numero intero !! e poi come lo rappresento sul codice questa cosa !

  4. #4
    Potrei fare con l'ID immagine del database dove risiedono le immagini !! Se l'id è negativo metto un colore alla cella altrimenti se è positivo metto un'altro colore!

  5. #5
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    puoi impostare una variabile true false che alla fine di ogni ciclo cambi il suo stato.

  6. #6
    Ok ci sono riuscito prendendo l'id dell'immagine e mettendo che se l'id dell'immagine è pari metto un colore alla cella altrimenti metto un'altro colore ! !! Grazie lo stesso

    Praticamente così:

    codice:
    $numero= $row[id_immagini];
    if ( ( ((int)$numero)%2 )==0 )  {
    $color="ccff00";
    }
    else {
    $color="cccc33";
    }

  7. #7
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    eh si la soluzione piu facile è sempre la migliore

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    e se elimini un' immagine e poi la rimpiazzi e l' ID risulta pari per la 3 e 4 immagine che fai? cambi l' id dell' immagine nel db?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  9. #9
    Già non c'avevo pensato quindi tu cosa mi consigli ??

  10. #10
    Utente di HTML.it L'avatar di joker06
    Registrato dal
    Dec 2006
    Messaggi
    782
    io ripenserei ad una variabile che cambia di stato ed a seconda dello stato cambia anche lo sfondo

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.