File Coverage

blib/lib/HTML/DBForm.pm
Criterion Covered Total %
statement 46 230 20.0
branch 3 58 5.1
condition 0 11 0.0
subroutine 11 37 29.7
pod 4 5 80.0
total 64 341 18.7


line stmt bran cond sub pod time code
1             package HTML::DBForm;
2              
3 1     1   75788 use strict;
  1         2  
  1         48  
4 1     1   5 use warnings;
  1         2  
  1         36  
5 1     1   5 no warnings 'uninitialized';
  1         7  
  1         37  
6              
7 1     1   5 use Carp;
  1         2  
  1         112  
8 1     1   95459 use CGI;
  1         80231  
  1         8  
9 1     1   32810 use HTML::Template;
  1         21438  
  1         56  
10 1     1   1100 use HTML::SuperForm;
  1         10494  
  1         44  
11 1     1   2573 use DBI;
  1         43601  
  1         3717  
12              
13             our $VERSION = '1.05';
14              
15              
16             =head1 NAME
17              
18             HTML::DBForm - Creates a web interface for updating database tables
19              
20             =head1 SYNOPSIS
21              
22             use HTML::DBForm;
23             use HTML::DBForm::Search;
24              
25             my $editor = HTML::DBForm->new(
26             table => 'contacts',
27             primary_key => 'id',
28             );
29              
30             $editor->element(column => 'email');
31              
32             $editor->element(
33             label => 'First Name',
34             column => 'fname',
35             );
36              
37             $editor->element(
38             column => 'interest',
39             type => 'select',
40             options => \@list_of_interests
41             );
42            
43             $editor->element(
44             label => 'Reason for Contact',
45             column => 'reason',
46             options => 'select reason from reasons'
47             );
48              
49             $editor->connect(
50             username => 'webuser',
51             password => 'xxxxxxx',
52             datasource => 'dbi:mysql:dbname'
53             );
54              
55             $search = HTML::DBForm::Search->new('dropdown',
56             { columns => ['id', 'lname'] }
57             );
58            
59             $editor->run(search => $search);
60              
61              
62             =head1 INTRODUCTION
63              
64             HTML::DBForm provides a web interface to insert, update, and delete
65             rows from a database. This can be used to easily create content editors
66             for websites, content management systems, or anything that stores its
67             data in a database.
68              
69             HTML::DBForm allows easy creation of simple admin screens, but is
70             flexable enough to use in many different situations.
71              
72             =cut
73              
74             =head1 METHODS
75              
76             =over 4
77              
78             =cut
79              
80             =head2 new
81              
82             Creates a new editor object.
83              
84             Required parameters:
85              
86             I the table we are creating a form to update
87              
88             I the primary key of this table. Caveat Programmor: There is
89             no checking done to enforce that the column provided as I is
90             a primary key.
91              
92             Optional parameters:
93              
94             I the URL to a custom stylesheet file.
95              
96             I