Visualizzazione dei risultati da 1 a 6 su 6

Discussione: PHP disegnare tabella

Visualizzazione discussione

  1. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    un approccio diverso, molto migliorabile

    Codice PHP:
    // recupera le intestazioni della tabella finale
    $qcol "SELECT diametro FROM misure GROUP BY diametro";
    $col mysql_query($qcol) or die("$qcol error: " .mysql_error());


    // le inserisce in un array
    while($c mysql_fetch_array($col)) {
        
    $column[] = $c["diametro"];
    }


    // recupera i valori dalla tabella (tutti concatenati in un unico campo)
    $qrow "SELECT quantita, GROUP_CONCAT(diametro) as d_concat FROM misure GROUP BY quantita";
    $row mysql_query($qrow) or die("$qrow error: " .mysql_error());


    // imposta la tabella e scrive le intestazioni delle colonne
    echo '<table border="1">';
    echo 
    "<tr><td>ml</td><td>" implode("</td><td>"$column) . "</td></tr>";


    // scorre i risultati della seconda query
    while($r mysql_fetch_array($row)) {
        
    // nuova riga con il valore nella prima colonna
        
    echo "<tr>";
        echo 
    "<td>" $r["quantita"] . "</td>";


        
    // separa i valori del campo concatenato
        
    $d explode(","$r["d_concat"]);
        
        
    // scorre l'array delle intestazioni
        
    foreach($column as $c_data) {
            
    // controlla che il valore dell'intestazione sia nell'array generato nell'explode
            
    if(in_array($c_data$d)) {
                
    // se lo trova, segna il campo
                
    echo "<td> X </td>";
            }
            else {
                
    // se non lo trova, lascia il campo vuoto
                
    echo "<td> </td>";
            }
        }
        
    // chiude la riga
        
    echo "</tr>";
        }
    // chiude la tabella
    echo "</table>"

    il risultato è questo

    ml 16 22 25 30 33
    5 X
    10 X X
    25 X X X
    Ultima modifica di clasku; 17-07-2015 a 12:43

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.