Estic obligat a generar una taula HTML a partir de PHP les dades d'un projecte que jo estava treballant. Lamentablement, després d'una mica de google no vaig poder trobar res que fos adequat, així que vaig decidir crear el meu propi.
M'adono que això pot no ser la millor classe de taula de la generació dels segles dels que probablement hi ha alguns errors encara, però jo prefereixo compartir i si algú vol una versió millor vaig a mirar-hi :) jo volia crear una taula acumulada dels objectes separats, per exemple, cèl · lules objecte, objecte de fila (acumulat dels objectes de cèl · lules), però em vaig adonar de la sobrecàrrega en això seria enorme! Així que he tornat a una configuració de matriu.
La classe va a calcular el nombre màxim de columnes que s'usen en la capçalera, peu de pàgina, o el cos i escriure aquest nombre de columnes. Encapçalaments, peus de pàgina i el títol són opcionals. Els atributs es compon d'una matriu on la clau és el nom de l'atribut i el valor és el valor de l'atribut. Els atributs s'apliquen a l'etiqueta de taula (en la creació de la taula - la inicialització de classe), files de la taula (matriu [fila] [atribut]), i cel · les d'una taula (matriu [fila] [columna] [atribut]), això s'aplica als encapçalats, peus de pàgina, i el cos de la taula.
Exemple
Jo sempre trobo la millor manera de mirar alguna cosa és utilitzar un exemple així que aquí anem:
$ Taula = new HtmlTable (array ('class' => 'ordenar',
'Estil' => 'width: 550px;'));
$ Capçalera [0] [0] ['contingut'] = 'ID';
$ Capçalera [0] [1] ['contingut'] = 'Títol';
$ Capçalera [0] [2] ['contingut'] = 'Data';
$ Capçalera [0] [3] ['contingut'] = 'Lloc';
$ Taula-> addHeader ($ header);
$ I = 0;
foreach ($ llista de notícies COM $ element Novetats) {
$ ItemLink = "{$ element Novetats ['title']}";
$ TableBody [$ i] = array (0 => array ('contingut' => $ element Novetats ['id'],
'Atributs' => array ('style' => 'font-weight: bold; ")),
1 => array ('contingut' => $ itemLink),
2 => array ('contingut' => $ element Novetats ['date_posted']),
3 => array ('contingut' => $ element Novetats ['site']));
$ I + +;
}
$ Taula-> ADDBODY ($ tableBody);
echo $ taula-> drawTable ();
| Identificació | Títol | Data | Lloc |
|---|
| 9 | Notícies 1 | 2009-04-04 10:40:00 | el nom del lloc |
| 10 | Notícia 2 | 2009-04-04 12:44:11 | el nom del lloc |
I el codi HTML és el següent:
= "sortable" style = "width: 550px;" > <class = Taula de "ordenar" style = "ancho: 550px;">
<Thead>
<Tr >
<º > ID </ th>
<º > Títol </ th>
<º > Data </ th>
<º > Lloc </ th>
</ Tr>
</ Thead>
<Tbody>
<Tr >
= "font-weight: bold;" >9</ td > <td Style = "font-weight: bold;"> 9 </ td>
<Td > Notícies 1 </ td>
<Td > 2009.04.04 10:40:00 </ td>
<Td > Nom del lloc </ td>
</ Tr>
<Tr >
= "font-weight: bold;" >10</ td > <td Style = "font-weight: bold;"> 10 </ td>
<Td > Notícies 2 </ td>
<Td > 2009.04.04 00:40:00 </ td>
<Td > Nom del lloc </ td>
</ Tr>
</ Tbody>
</ Table>
Codi
HtmlTable.php
Si vostè té algun comentari si us plau feu per sota d'ells, seria molt bo escoltar alguns. Si vostè acaba d'usar-lo també voldria saber i vaig a estendre en el futur :)