actually you'll need something like this in the database
create table if not exists bills (
ID BIGINT NOT NULL auto_increment,
BillName VARCHAR(100) NOT NULL,
DueWhen ENUM('First','Fifteenth') NOT NULL DEFAULT 'First',
Amount FLOAT(5,2) NOT NULL,
PRIMARY KEY (ID),
UNIQUE BillName,
INDEX DueWhen
);
create table if not exists paid (
ID BIGINT NOT NULL auto_increment,
BillID BIGINT NOT NULL,
Paid DATE NOT NULL,
PRIMARY KEY (ID),
INDEX BillID (BillID),
INDEX Paid (Paid)
);
that takes care of your bill paying requirement. Now if you want to handle other checking account transactions you'll need this table as well.
create table if not exists transactions (
ID BIGINT NOT NULL auto_increment,
Dscrptn VARCHAR(255) NOT NULL,
DbtCrdt ENUM('Debit','Credit') NOT NULL DEFAULT 'Debit',
Amount FLOAT(6,2) NOT NULL,
CheckNo INT NOT NULL,
TrnsDate DATE NOT NULL,
PRIMARY KEY (ID),
INDEX DbtCrdt (DbtCrdt),
INDEX CheckNo (CheckNo),
INDEX TrnsDate (TrnsDate)
);
having a look at the database do you understand why this script is not going to be something very simple and easy to write. Additionally if you're storing this kind of stuff on line it'll have to be secure, and I don't mean enter a username and password secure I mean secure enough that a bored hacker can't really screw up your record keeping. You're also going to want archival abilities and such, I mean no need to keep years and years of data in the on line database right?