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

    Problema con una galleria immagini

    Salve a tutti.

    Volevo creare una galleria immagini utilizzando il database mysql.

    Codice PHP:
    while ($riga mysql_fetch_array($risultato)) {
        
    $ID $riga['ID'];
        
    $NOME $riga['NOME'];
        
    $DESCR $riga['DESCR'];

                    
    $foto_elenco1 .= "<tr>
                   <td align=\"center\">
                    <a href=\"#\" onClick=\"window.open('foto.php?dett=
    $NOME','buttonwin','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,copyhistory=0,width=880,height=685')\"><img src=\"foto_picc/$NOME.jpg\" height=\"200\" border=\"0\"></a>

                    [b]
    $DESCR[/b]
                   </td>
                </tr>"
    ;
    }



    $dettaglio $_GET["dett"];

    $foto_elenco "<table width=\"98%\">
                
    $foto_elenco1
                </table>"

    Questo codice mi visualizza una foto per ogni riga.
    Io vorrei che mi visualizzasse 2 foto (ovviamente differenti) per riga.

    Non ho proprio idea di come fare...


    HELP ME!

  2. #2
    Usi un contatore ($i) che parte da 0, e poi se $i%2 == 0 allora apri il <tr> perché è la prima immagine della riga, mentre se $i%2 == 1 allora ti trova nella seconda immagine e devi chiudere il </tr>.
    Poi alla fine devi solo verificare che l'ultima riga sia completa (con due immagini) o mettere un <td></td> per non "rompere" la tabella.

  3. #3
    Scusa ancora.
    Per contatore intendi un ciclo for?

    Potresti farmi un esempio pratico?

  4. #4

    It's sloppy code but ....

    Ciao.
    Come detto sopra è un po
    tirato via.
    Funzionare funziona ma e si
    c'è un piccolo ma se il tot delle
    immagini (mettiamo 10) diviso
    il numero delle colonne da 0
    ti ritrovi con un <tr></tr> vuoto
    per il lay-out non ci dovrebbero essere
    problemi ma guarda un po.

    <?php
    $array = array('uno','due','tre','qua','cin','sei','sette', 'etc');
    $i = 1;
    $col = 3;//ci puoi mettere il numero di colonne che vuoi
    echo "<table>\n";
    echo "<tr>\n";
    foreach($array as $value)
    {
    echo "<td>".$value."</td>\n";
    if($i%$col==0)
    {

    echo "</tr>\n<tr>\n";

    }

    $i++;
    }
    echo "</tr>\n</table>";
    ?>
    Stammi bene.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  5. #5
    Grazie per la risposta.
    Io avevo creato questo script:
    Codice PHP:
    echo "<table width=\"100%\" border=\"1\">
        "
    ;

    for(
    $i=1$i<20 $i++)
    {
            if(
    $i%2==1){
                    echo 
    "<tr>
                    <td>
    $i</td>
                    "
    ;
            } else if(
    $i%2==0){
                    echo 
    "<td>$i</td>
                    </tr>
                    "
    ;
            } 

    }

    echo 
    "</table>"
    ma è decisamente poco comodo utilizzarlo col mysql (a dir la verità non sò come potrei usarlo col mysql.
    Adesso provo quello che mi ha consigliato.

  6. #6

    miglioramenti ...........

    Ma spero ..........
    guarda un po questa dovrebbe funzionare
    meglio:
    $array = array('uno','due','tre','qua','cin','sei','sette', 'etc');
    $i = 1;
    $col = 4;//ci puoi mettere il numero di colonne che vuoi
    echo "<table>\n";
    echo "<tr>\n";
    foreach($array as $value)
    {
    if($i%$col!=0)
    {
    echo "<td>$i</td>\n";
    if(count($array)==$i)
    {
    echo "</tr>\n";
    }
    }
    elseif($i%$col==0)
    {
    if(count($array)==$i)
    {
    echo "<td>$i</td>\n</tr>\n";
    }
    else
    {
    echo "<td>$i</td>\n</tr>\n<tr>";
    }
    }

    $i++;
    }
    echo "</table>";
    ?>
    Per quanto riguarda il recupero
    dalla select poi mettere il risultato
    in un array e poi utilizzarlo per visualizzare
    la table (lo dichiari prima del while con
    $array = array() e poi ci metti i valori
    che ti servono )
    Bye.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Ho provato ad applicare lo script al database mysql in questo modo
    Codice PHP:
    ...

    while (
    $riga mysql_fetch_array($risultato)) {
        
    $ID $riga['ID'];
        
    $NOME $riga['NOME'];
        
    $DESCR $riga['DESCR'];

    $foto .= "$NOME, ";

    }

    $array = array($foto);


    ... 
    Purtroppo mi viene dato solo il risultato 1....


    Cosa devo fare???? :master:

  8. #8

    Se vuoi .......

    Ciao.
    Se vuoi recuperare solo il nome devi fare così
    $foto = array();
    while ($riga = mysql_fetch_array($risultato)) {
    $ID = $riga['ID'];
    $NOME = $riga['NOME'];
    $DESCR = $riga['DESCR'];

    $foto[]= $NOME;
    /*potresti anche tra le altre
    fare una cosa del genere
    $foto[]= $ID."|".$NOME."|".$DESCR;
    per poi
    foreach($foto as $row)
    {
    list($id,$nome,$descr)=explode("|",$row);
    e qui potresti mettere il code che stampa la
    tabella
    }*/
    }

    var_dump($foto);
    Stammi bene.
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.