PHP Classes

SpoolTemplate: Database report generation based on templates

Recommend this page to a friend!
  Info   View files View files (29)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 63%Total: 6,278 All time: 349 This week: 105Up
Version License Categories
sptpl 1.0.0GNU Lesser Genera...HTML, Databases, Printing


SpoolTemplate (SpTpl) is a report system based on templates. It allows to build reports from database queries using just few lines of code.

Main features:

- Based on XML configuration files (each report has its own configuration files)

- To build a single report it requires few lines of PHP code as it is mainly based on the configuration files

- Output type: text file, PDF, printer (only Windows box)

- It gets the data to print from query or from globals variables

- You may output the data from your custom function (optionally you may pass as parameter the fields returned by the query)

- Each report may contain many tables and each table may display data from different queries eventually from different databases

- It supports page header and page footer (with page numbering) and page and margin sizes

- The databases suported by the current version are: MySQL, MSSQL and ODBC. You may write the extension to support other databases and specify it in the configuration file

- Text alignment (left, center, right)

- You may set the font name, the font size and decoration for each row

This package generates a spool file holding the report. You may manage that file at your convenience (i.e. print it using printer spooler commands as lp or similar, send it by e-mail, etc..)

This package parses a configuration file holding the detail how to build the report. It executes the instructions listed in that file and write the report as spool file.

Inside the configuration file there are directives that specify what text write as page header and footer, where to output the data (the sources are database or global variables).

After you define the data source query, the module executes the query, saves the columns of the rows returned from the query as normal variables, that change their values row by row; so you may access those columns as normal variables without distinction from data coming from query or data from PHP script or predefined constant.

You may monitor the field values. If those fields change their values, you may define what is outputted before and after each table. This is useful to generate special headers or total rows when you generate several tables grouped by one or more query fields.

The outputted values may come from user function. You may define your own function and use the returned values in the report in the place of a regular query field. This function may get its parameters from the report query fields.

Picture of Andrioli Darvin
Name: Andrioli Darvin <contact>
Classes: 5 packages by
Country: Italy Italy
Age: 56
All time rank: 954 in Italy Italy
Week rank: 405 Down15 in Italy Italy Down


Extract PHP report
I need to generate a report in PHP

  Files folder image Files  
File Role Description
Accessible without login Plain text file CXml2Array.php Aux. Class Xml2Array source
Accessible without login Plain text file doc.css Data Documentation CSS
Accessible without login HTML file doc.html Doc. Class documentation
Accessible without login Plain text file license.txt Lic. License
Accessible without login HTML file reference.html Doc. Tag reference
Accessible without login Plain text file Aux. Class main include
Plain text file sptpl.php Class SpoolTemplate source
Plain text file sptpl_clsBlock.php Class Class CBlock source
Plain text file sptpl_clsColumn.php Class CColumn source
Plain text file sptpl_clsCounter.php Class Class CCounter source
Plain text file sptpl_clsDataStorage.php Class DataStorage source
Plain text file sptpl_clsFont.php Class Class CFont source
Plain text file sptpl_clsNewPage.php Class Class CNewPage source
Plain text file sptpl_clsPageMgr.php Class Manager source
Plain text file sptpl_clsPagePdf.php Class Interface to R&OS PDF Class
Plain text file sptpl_clsPagePrinter.php Class optional module to write the report to the printer
Plain text file sptpl_clsRow.php Class CRow source
Plain text file sptpl_db.php Class Db Abstraction class
Plain text file sptpl_db_mssql.php Class MS SQL server support
Plain text file sptpl_db_mysql.php Class Mysql class support
Plain text file sptpl_db_odbc.php Class Interface to ODBC
Plain text file sptpl_db_pgsql.php Class Interface to Postgresql
Accessible without login Plain text file sptpl_GlobalFunc.php Aux. Global functions
Accessible without login Plain text file test1.php Example Simple example
Accessible without login HTML file test1.xml Data Simple example, configuration file
Accessible without login Plain text file test2.php Example Second example
Accessible without login Plain text file test2.xml Data d example, configuration script
Accessible without login Plain text file test4.php Example Another example
Accessible without login HTML file test4.xml Data Third example configuratin file

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:349
This week:105Up
 User Ratings  
 All time