Articoli taggati scheda automatica php
[AutoSheet 0.1 beta] – Auto DataSheet in PHP
Mag 8
In pratica per tabelle che richiedano la visualizzazione di molteplici informazioni, campi e quantaltro è sempre una menata costruire l’HTML necessario per poi stampare i dati. Questo in particolare quanto si ha a che fare con sistemi informativi complessi. Capita meno frequentemente nella realizzazione di siti web.
Dal momento in cui, a differenza che per quanto riguarda i paginatori, dove c’è l’imbarazzo della scelta, non ho trovato nulla di utile.
Allora ho deciso di fare da me.
Premetto che è una versione molto fresca e ancora da sviluppare, testare, evolvere etc… ma voglio comunque pubblicarla.
Di seguito il codice (scusate ma si perde l’indentazione corretta):
// Funzione che genera il datasheet basato su N colonne, campo => valore e configurando il layout function autoSheet($arr, $cols = 4, $border = 0, $cellspacing = 0, $cellpadding = 5, $classfield = “field”, $classdato = “dato”, $caption = “Scheda”)
{
// Calcolo il ceil del numero delle righe che avrò bisogno
$rows = ceil(count($arr) / ($cols / 2));
$html = ‘<table width=”100%” border=”0″ cellspacing=”0″ cellpadding=”5″>’.”\n”;
$html .= ‘<caption>’.$caption.’</caption>’.”\n”;
for($i = 0; $i < $rows; $i++)
{
$html .= ‘<tr>’.”\n”;
for($j = 0; $j < ($cols / 2); $j++)
{
$html .= ‘<td class=”‘.$classfield.’”>’.strtoupper(str_replace(”_”, ” “, key($arr))).’</td>’.”\n”; $html .= ‘<td class=”‘.$classdato.’”>’.current($arr).’</td>’.”\n”; next($arr); } $html .= ‘</tr>’.”\n”;
}
$html .= ‘</table>’.”\n”; return $html;
}
In pratica come funziona:
Tutto quello che dobbiamo fornire a questa funzione è un semplicissimo array associativo dove la chiave rappresenta l’etichetta di una colonna, e il rispettivo valore rappresenta il risultato estratto da database.
Per poter avere una rappresentazione carina delle etichetta ho fatto in modo che nell’SQL che estraggo rinomino i campi mettendo degli _ che poi vado a sostituire con degli spazi.
Naturalmente sarà in futuro necessario prevedere altre features per dati di tipo particolare etc, però va visto a regime e in base ai casi concreti che si presentano.
Oltre all’array poi è semplicemente intuibile la possibilità di passare una serie di dati (opzionali) per formattare la tabella.
QUESTA FUNZIONE E’ LIBERAMENTE UTILIZZABILE, ESPANDIBILE E QUANTALTRO.
Si chiede solo la gentilezza di postare un commento in caso di modifiche importanti al fine di permettere a tutta la comunità di sfruttare questi miglioramenti.
In futuro questo post sarà oggetto di modifiche e integrazioni man mano che la espando e lavoro.
Ciao. Maxgrante
