We are using a linux box with SQLite for our database and PHP VERSION 4(!!) with PECL sqlite package (start here if you don't have it installed yet: [login to view URL]). There are 3 tables that we need to add/modify/delete records from. I will supply you with the sqlite .db file to work from. You can develop it on your server, or I can give you an account to develop it off mine.
You will be responsible for displaying all of the data in a spreadsheet-like view. There should be buttons to add edit and delete each of the items. You will need to create form elements such as dropdown boxes and textboxes and populate
them with the appropriate data from the database.
I have screenshots of a previous project that you can use as a guideline for what it is supposed to look like. PM me
if you want to see the URL to the screenshot before you bid. Don't need graphics, just nicely laid out forms.
It's pretty straightforward, there are 3 main parts to this:
The main part is Events, each event can have several actions associated with it.
I'm open to feedback on this, but a treeview could be a nice way to display all of the events, and when you click the little plus sign it could show all of the actions associated with that event. Of course a simple tab showing the actions indented underneath each event would work fine as well.
Here is what the database looks like:
create table events(eId INTEGER PRIMARY KEY, name, deviceId, triggerData);
insert into events values(NULL, "status_pwr_on", "YAMAHA1", "%02?02001%03");
insert into events values(NULL, "status_pwr_off", "YAMAHA1", "%02?02000%03");
insert into events values(NULL, "status_pwr_100", "YAMAHA1", "%02?02002%03");
insert into events values(NULL, "status_pwr_011", "YAMAHA1", "%02?02003%03");
insert into events values(NULL, "status_pwr_110", "YAMAHA1", "%02?02004%03");
insert into events values(NULL, "status_pwr_101", "YAMAHA1", "%02?02005%03");
insert into events values(NULL, "status_pwr_010", "YAMAHA1", "%02?02006%03");
insert into events values(NULL, "status_pwr_001", "YAMAHA1", "%02?02007%03");
create table actions(aId INTEGER PRIMARY KEY, name, eId, type, delay, expression, outputTo, outputValue);
insert into actions values(NULL, "testAction", 1, "sql", 0, 0, 'powerStatus1', "g");
insert into actions values(NULL, "testAction", 1, "sql", 0, 0, 'powerStatus1', "g");
create table devices(dId INTEGER PRIMARY KEY, name, ipAddress, telnetPort, link);
insert into actions values(NULL, "YAMAHA1", '[login to view URL]', "23", "http://192.168.1.70/setup/");
insert into actions values(NULL, "YAMAHA2", '[login to view URL]', "4000", "http://192.168.1.71/setup/");
Events and actions are linked via eID so all actions which have an eID of 1 would get listed under event1.
Devices are a seperate table, which is the table that populates the drowpdown box for 'deviceId' in the events table.
The gui forms should work like this:
events table:
eId - autoincrement, just send null
name - textfield type=text
device - dropdown box populated by devices table
triggerData - Textbox 4 rows
actions table:
aId - autoincrement, just send null
name - textfield type=text
eId - type=hidden variable set depending on which event we are adding the action to.
type - dropdown, for now just put sql as the only choice
delay - small textfield type=text
expression - checkbox - sumbits 1 if checked 0 if not checked
outputTo - textfield
outputValue - textbox 4 rows
devices table:
dId - autoincrement, just send null
name - textfield type=text
ipAddress - textfield type=text
port - small textfield type-text
link - textfield type=text
You can use the standard form submit page refreshing methods to do this, but if your willing to spend the time to do it in ajax so that all add/modify/delete actions are done without leaving the page, i'd be willing to pay more for that. PM me to discuss.
Please bid only if you can start immediately. Specify if you will use standard form submits or ajax.