NAME

SQLite::Work::CGI - Report and update a SQLite database using CGI

VERSION

version 0.1601

SYNOPSIS

use SQLite::Work::CGI;

my $obj = SQLite::Work::CGI->new(%args);

DESCRIPTION

This module is an expansion of SQLite::Work suitable for use in a CGI script to report and update a SQLite database.

CLASS METHODS

new

my $obj = SQLite::Work->new( database=>$database_file, row_ids=>{ episodes=>'title_id', }, join_cols=>{ 'episodes+recordings'=>'title_id', } }, report_template=>$report_template, default_format=>{ 'episodes' => { 'title'=>'title', 'series_title'=>'title', } }, input_format=>{ 'reviews' => { 'Review'=>{ type=>'textarea', cols=>60, rows=>4, } } }, max_sort_fields=>10, sort_label=>'Zsort', sort_reversed_prefix=>'Zsort_reversed_', headers_label=>'Zheader_', show_label=>'Zshow', where_prefix=>'Zwhere_', not_prefix=>'Znot_', );

Make a new report object.

Takes the same arguments as SQLite::Work::new() plus the following additions:

input_format

This contains information about what style of input field should be used for this particular column in this table. This is used for the Edit and Add forms.

max_sort_fields

The maximum number of sort fields required (default: 10)

sort_label

Name of the sort parameter.

sort_reversed_prefix

Prefix of the sort-reversed parameters.

headers_label

Name of the headers parameter.

show_label

Name of the columns-to-show parameter.

where_prefix

Prefix of the 'where' parameters.

not_prefix

Prefix of the not-where parameters.

OBJECT METHODS

do_select

$obj->do_select($table, command=>'Search');

Select data from a table in the database. Uses CGI to get most of the parameters.

The 'command' is 'Search' by default; if it is something else, then the result generated has edit fields and buttons in it.

do_single_update

Update a single column in a single row, or all columns in a single row.

do_add_form

$obj->do_add_form($table);

Set up for adding a row to the database.

do_add

Add a row to a table.

do_single_delete

Delete a single row.

make_search_form

Create the search form for the given table.

my $form = $obj->make_search_form($table, %args);

do_search_form

Display the search form for the given table.

make_table_form

Make the table selection form.

do_table_form

Display the table selection form.

Helper Methods

Lower-level methods, generally just called from other methods, but possibly suitable for other things.

Print an (error) message to the user.

$self->print_message($message); # error message

$self->print_message($message, 0); # non-error message

search_form

Construct a search-a-table form

make_add_form

Construct an add-a-row form.

make_buttons

Make the buttons for the forms.

make_page_button

Make a button for a particular page

Print a selection result. (slightly different for Edits than for Search)

format_report

Format the report results If 'command' is 'Search' then use the parent format_report; otherwise make an edit-table.

make_edit_table

Make a table for editing a search result.

make_edittext

Make a textarea for editing a search result.

get_input_field

Get the required input field for the table+column

REQUIRES

SQLite::Work
CGI

Test::More

INSTALLATION

To install this module, run the following commands:

perl Build.PL
./Build
./Build test
./Build install

Or, if you're on a platform (like DOS or Windows) that doesn't like the "./" notation, you can do this:

perl Build.PL
perl Build
perl Build test
perl Build install

In order to install somewhere other than the default, such as in a directory under your home directory, like "/home/fred/perl" go

perl Build.PL --install_base /home/fred/perl

as the first step instead.

This will install the files underneath /home/fred/perl.

You will then need to make sure that you alter the PERL5LIB variable to find the modules, and the PATH variable to find the script.

Therefore you will need to change: your path, to include /home/fred/perl/script (where the script will be)

PATH=/home/fred/perl/script:${PATH}

the PERL5LIB variable to add /home/fred/perl/lib

PERL5LIB=/home/fred/perl/lib:${PERL5LIB}

SEE ALSO

perl(1).

BUGS

Please report any bugs or feature requests to the author.

AUTHOR

Kathryn Andersen (RUBYKAT)
perlkat AT katspace dot com
http://www.katspace.com

COPYRIGHT AND LICENCE

Copyright (c) 2005 by Kathryn Andersen

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.