Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505

    Visualizzare record in tabella di 3 colonne e n righe

    Ciao,
    il mio problema é quello di creare dinamicamente la tabella in base al numero dei record presenti nel database.

    Ammettendo che ogni record contenga i campi seguenti:
    Titolo, luogo, foto

    Ammettendo che voglia visualizzarli in questo modo:

    ¦--------------------¦---------------------¦--------------------¦
    ¦ ¦ ¦ ¦
    ¦ ¦ ¦ ¦
    ¦ Foto1 ¦ Foto 2 ¦ Foto 3 ¦
    ¦ ¦ ¦ ¦
    ¦ ¦ ¦ ¦
    ¦--------------------¦---------------------¦--------------------¦
    ¦ Titolo 1 ¦ Titolo 2 ¦ Titolo 3 ¦
    ¦ ¦ ¦ ¦
    ¦--------------------¦---------------------¦--------------------¦
    ¦ Luogo1 ¦ Luogo2 ¦ Luogo 3 ¦
    ¦ ¦ ¦ ¦
    ¦--------------------¦---------------------¦--------------------¦

    Questa sarebbe la prima riga della mia tabella, poi le righe si ripetono fino a esaurimento dei record.
    Ovviamente quando una riga é riempita solo parzialmente (1 o 2 record), le celle rimanenti devono essere vuote. Questo può capitare nella prima riga (se i record sono meno di 3) o nell'ultima riga.

    Non riesco a trovare un modo per popolare questa tabella in questo modo una volta estratti i dati dal DB.

    Qualcuno sa aiutarmi?

    Grazie
    Ciao
    Sempre più in alto...
    www.webdition.com

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    118
    Codice PHP:
    <?

    @include 'config.php';

    //apriamo la tabella
    echo "<table>";

    //estraiamo il dato che vogliamo impaginare 
    $sql "SELECT * FROM images ORDER By Id";
    $res = @mysql_query($sql);

    //controlliamo che siano contenuti dei dati nella tabella
    $num_rows = @mysql_num_rows($res);

    //se ci sono dati impagianiamoli
    if($num_rows >= ){

    //settiamo la varibile per l'incolonnamento
     
    $cols 3;
     
    $rows=0;
      while (
    $f=@mysql_fetch_array($res)) {
        
    $rows++;    
         
    $titolo stripslashes($f['Titolo']);
         
    $luogo stripslashes($f['Luogo']);
         
    $nome stripslashes($f['Nome']);
         echo 
    "<td width=\"33%\">\n";  
         echo 
    "<img src=\"" $path_img "tb_" $nome "\" border=\"0\"></a>"
         echo 
    $luogo "
    $titolo;   
         echo 
    "</td>\n";

    //se il numero delle righe e delle
    //colonne è uguale...    
          
    if ($rows==$cols) {     
            echo(
    "</tr><tr>\n");
    //...azzeriamo il contatore    
            
    $rows=0;    
      } 
     }
    }
     echo 
    "</table>";
    ?>

  3. #3
    Utente di HTML.it L'avatar di Frankos
    Registrato dal
    Nov 2002
    Messaggi
    505
    Ciao Lorymacri,

    si, sembra proprio che funzioni.
    Adesso lo formatto secondo le mie esigenze.
    Ti ringrazio moltissimo.

    Ciao
    Sempre più in alto...
    www.webdition.com

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.