Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    Visualizzare 6 foto per riga

    Ho un piccolo problema, dovrei mostrare 6 foto per ogni riga, come posso modificare questa query?
    Codice PHP:
    $query="select * from immagini_hotel where id_hotel=\"$id_hotel\" and attiva=\"1\" order by id_foto desc";
    $risultato = @mysql_query($query
    or die(
    "Impossibile eseguire l'interrogazione."); 
    while (
    $riga mysql_fetch_array($risultato)) {
    $id_hotel $riga['id_hotel'];
    $id_foto $riga['id_foto'];
    $foto $riga['foto'];
    $titolo $riga['titolo'];
    $attiva $riga['attiva'];
    $fotografia="<td><a href=\"http://www.miosito.it/immagini_hotel/$cartella/grandi/$foto\" class=\"highslide\" onclick=\"return hs.expand(this)\"><img src=\"http://www.miosito.it/immagini_hotel/$cartella/$foto\" border=1 width=100 height=66></a><div class=\"highslide-caption\">$hotel - $comune $stellaimg</div></td>";
    echo 
    "$fotografia";

    Se metto limit 0,6 mi fa vedere solo le prime 6 e le successive no...

    Lasciando il codice cosi' mi sfascia la pagina perche' non capisce quando deve aggiungere una nuova riga e quindi mi aggiunge le foto una di fianco all'altra finche' non finiscono...

  2. #2
    Se vuoi usare le tabelle (table) devi contare tutti i record cioè tutte le foto, poi imposti una variabile per il numero di foto che vuoi visualizzare per tr, e poi devi visualizzare tutto tramite php, oppure con i css senza tabelle imposta dei div che vadano a capo, non sono la maga dei css ma se cerchi <ul class="gallery">

    vedrai che trovi qualcosa.
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  3. #3
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    Originariamente inviato da nivasio
    Se vuoi usare le tabelle (table) devi contare tutti i record cioè tutte le foto, poi imposti una variabile per il numero di foto che vuoi visualizzare per tr, e poi devi visualizzare tutto tramite php, oppure con i css senza tabelle imposta dei div che vadano a capo, non sono la maga dei css ma se cerchi <ul class="gallery">

    vedrai che trovi qualcosa.
    la prima ipotesi potrebbe essere quella corretta, pero' supponiamo di avere 6 foto per <tr>
    conto il numero di foto totali, faccio la divisione tra numero di foto diviso 6 e ottengo quanti <tr> dovrei avere.
    Una volta avuti questi tr, come faccio a visualizzarli correttamente a video?

  4. #4
    fai dei cicli tipo for ($i = 0; $i < $numero_immagini_xriga
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  5. #5
    Utente di HTML.it L'avatar di bode
    Registrato dal
    Feb 2007
    Messaggi
    304
    Codice PHP:
    $query="select * from immagini_hotel where id_hotel=\"$id_hotel\" and attiva=\"1\" order by id_foto desc"
    $risultato = @mysql_query($query)  
    or die(
    "Impossibile eseguire l'interrogazione.");  
    while (
    $riga mysql_fetch_array($risultato)) { 
    $foto_per_riga=6// numero di foto per riga
    $i=1//contatore
    $id_hotel $riga['id_hotel']; 
    $id_foto $riga['id_foto']; 
    $foto $riga['foto']; 
    $titolo $riga['titolo']; 
    $attiva $riga['attiva']; 
    if(
    $i%$foto_per_riga==0)
    echo 
    "<tr>";
    echo 
    "<td><a href=\"http://www.miosito.it/immagini_hotel/$cartella/grandi/$foto\" class=\"highslide\" onclick=\"return hs.expand(this)\"><img src=\"http://www.miosito.it/immagini_hotel/$cartella/$foto\" border=1 width=100 height=66></a><div class=\"highslide-caption\">$hotel - $comune $stellaimg</div></td>";
    if(
    $i%$foto_per_riga==0)
    echo 
    "</tr>";
    $i++; // incremento il contatore


  6. #6
    Codice PHP:
    <?php
    $query 
    "select * from immagini_hotel where id_hotel=\"$id_hotel\" and attiva=\"1\" order by id_foto desc";
    $risultato = @mysql_query($query) or die("Impossibile eseguire l'interrogazione."); 

    $col 6;
    $counter 1;
    echo 
    "<table>";
    echo 
    "<tr>";
    while (
    $riga mysql_fetch_array($risultato)) {
        
    $id_hotel $riga['id_hotel'];
        
    $id_foto $riga['id_foto'];
        
    $foto $riga['foto'];
        
    $titolo $riga['titolo'];
        
    $attiva $riga['attiva'];
        
    $fotografia="<td><a href=\"http://www.miosito.it/immagini_hotel/$cartella/grandi/$foto\" class=\"highslide\" onclick=\"return hs.expand(this)\"><img src=\"http://www.miosito.it/immagini_hotel/$cartella/$foto\" border=1 width=100 height=66></a><div class=\"highslide-caption\">$hotel - $comune $stellaimg</div></td>";
        if (
    $counter++ == $col) {
            
    $counter 1;
            echo 
    "</tr><tr>";
        }
    }
    echo 
    "</tr>";
    echo 
    "</table>";
    ?>
    P.S.
    x bode
    il tuo codice non va, $i vale sempre 1 inoltre rischi di non chiudere il tag <tr> in caso il numero di risultati non sia multiplo di 6
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    il metodo si satifal è corretto ma dovresti integrare un ciclo che inserisca celle di tabella (<td></td>) vuote nel caso l'ultimo rigo non contenga 6 foto esatte ma qualcuna in meno.
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  8. #8
    Originariamente inviato da oly1982
    il metodo si satifal è corretto ma dovresti integrare un ciclo che inserisca celle di tabella (<td></td>) vuote nel caso l'ultimo rigo non contenga 6 foto esatte ma qualcuna in meno.
    Ci avevo pensato anche io, ma l'assenza completa del tag <td></td> (che si verifica solamente nel caso in cui la query non restituisca risultati) non dovrebbe creare problemi. Comunque è vero!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    cmq fossi in te la galleria la farei senza tabelle, a te sembra che 6 immagini per riga possano andare bene ma non sai come la visualizzeranno gli altri, con che browser, schermo ecc.
    Invece crei una lista con un pizzico di css e sei a posto. qui c'è un esempio

    http://dustinbrewer.com/creating-a-p...ithout-tables/
    Un tardo hegeliano di Busalla / allevava un gorilla nella stalla
    citando Adorno nell notti chiare / finché il primate stanco di ascoltare
    lo strangolò con una sciarpa gialla Dillo Con Parole Sue

  10. #10
    Vedendo il codice di satifal mi è venuto in mente che anch'io ho avuto a che fare con alcune tabelle dinamiche.
    Perciò ho preparato un piccolo test, servendomi del codice di satifal (leggermente modificato), con questo codice:
    Codice PHP:
    <?php
        $col 
    $colonne;
        
    $elem $elementi;
        
    $counter 1;
        echo 
    "<div align=\"center\">\n";
        echo 
    "<table class=\"tabella_normale\">";
        echo 
    "<tr>";
        for (
    $c 1$c <= $elem$c++) {
            echo 
    "<td>".$c" - " .$counter."</td>\n";
            
    $counter++;
            if (
    $counter $col && $c $elem) {
                
    $counter 1;
                echo 
    "</tr><tr>";
            }
        }
        if (
    $counter $colonne) {
            
    $col_mancanti = ($colonne $counter 1);
            for (
    $d 1$d <= $col_mancanti$d++) {
                echo 
    "<td class=\"bianca\">".$d."</td>\n";;
            }
        }
        echo 
    "</tr>";
        echo 
    "</table>";
        echo 
    "</div>\n";
    ?>
    Ho anche preparato un piccolo test disponibile a questo indirizzo

    Spero possa essere utile

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.