NAME
Meta::Cgi::SqlTable - show the results of an SQL query.
COPYRIGHT
Copyright (C) 2001, 2002 Mark Veltzer; All rights reserved.
LICENSE
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
DETAILS
MANIFEST: SqlTable.pm
PROJECT: meta
VERSION: 0.02
SYNOPSIS
package foo;
use Meta::Cgi::SqlTable qw();
my($object)=Meta::Cgi::SqlTable->new();
my($result)=$object->method();
DESCRIPTION
Give this class: 1. An SQL statement. 2. A description of a database that it's supposed to work on. 3. A DBI handle. 4. How many rows of results you want displayed and other hints.
And it will display a CGI UI which enabled you to browse through the results.
The object will: 1. Analyze the statement using SQL::Statement to find out which fields it returns. 2. Build a table with hints about the columns. 3. Build buttons to move forward, backward in the results and select how many results to see at once.
FUNCTIONS
get_columns($$)
sql_table($$$$$)
core_code($$$$$$)
TEST($)
FUNCTION DOCUMENTATION
- get_columns($$)
-
This function analyzes an SQL statement using SQL::Statement and returns the columns that the statement returns.
- sql_table($$$$$)
-
This method does all the work. Give it hell. Arguments are: 0. Meta::Cgi::SqlTable object. 1. SQL statement to be used. 2. definition object of the database. 3. dbi handle. 4. number of rows to display.
- core_code($$$$$$)
-
This method actually does the work and gets the columns too.
- TEST($)
-
This is a testing suite for the Meta::Cgi::SqlTable module. This test is should be run by a higher level management system at integration or release time or just as a regular routine to check that all is well.
SUPER CLASSES
CGI(3)
BUGS
None.
AUTHOR
Name: Mark Veltzer
Email: mailto:veltzer@cpan.org
WWW: http://www.veltzer.org
CPAN id: VELTZER
HISTORY
0.00 MV download scripts
0.01 MV weblog issues
0.02 MV md5 issues
SEE ALSO
CGI(3), SQL::Statement(3), strict(3)
TODO
-add support for the SORTED BY (combo box which allows the user to select according to which field to sort).
-add limit for nubmer of rows.
-add forward and back buttons.
-add options to change the limit by the user.
-add cascading style sheet support.
-add tool tips about the headers of the table.
-add options to gather results according to groups (for example letters) if there is too much results.