bretticus;10877810 wrote:So you really need people to be able to enter fuel, electric, and telephone expenses simultaneously? Is this a budget tool or something?
Hi Bretticus!
Well, I am building a super-duper, mongo Personal Financial System where I can enter in all of my expenditures and link it to PDF's of the original Receipt/Bill/Invoice and manage ever cent in my life. (And NO I am NOT interested in Quicken or anything like it!)
BTW, I already have designed this system on the back-end, I just need help "webifying" it! 🙂
The reason for all of the different forms is because the types of things on a receipt from Target, or a receipt from Exxon Gas, or my Electric Bill or my GEICO Insurance Bill or a visit to my Allergist are radically different in many aspects. (I don't just want to capture Expense Date and Expense Total, but also capture things so I can calculate Gas Mileage, Frequest Flyer Miles, Avg Trips to Doctor, etc. Hey, I already get all this information on paper, why not put it all in one monster database so I can start doing analysis?!)
bretticus;10877810 wrote:As far as the database design goes, it should be the same. ie: you have an expense table with an expense_id as a primary key and the three subtypes are represented as separate tables with a foreign key (expense_id) that refer back to the primary key.
Yes, that is the data model I am opting for. (I want to avoid things like EAV!)
bretticus;10877810 wrote:However, I see no reason for tabs in the website so much. You can certainly have a regular good old html menu with a link for each "subtype" form. Those forms can all store to the database. You can keep "application state" with PHP sessions.
I am flexible in this area since I'm not exactly sure of how the UI should look.
Agreed, "Tabs" may not make sense on the data entry end, because EITHER you are entering a Gas Receipt OR you are entering a Grocery Bill, but NOT BOTH together, so Tabs aren't needed. (Although I mention them, because in MS Access, I created a Parent Form and then Tab Control with Child Forms. Each tab had a different Sub-Form and I used VBA to hide all tabs that didn't apply if you selected "Natural Gas Bill" for instance.)
Right now, how I envision things, is that you will have ExpenseID, ExpenseDate and MerchantName fields along with a combo-box (Access term) to select "Form Category" and "Form Subcategory".
If the user chose "Transportation" and "Airfare" then I would plop up the remaining fields that apply to Air travel (e.g. DepartureDate, Departure City, Return Date, Return City, PaidWithMilesYN, etc).
But I am not sure the technology to use on the Web to do that.
bretticus;10877810 wrote:I'm seeing similar questions like this lately. I feel it important to distinguish HTML from methods used to render HTML. In other words PHP (or any other server parsed language), CSS, and AJAX are tools to build HTML layout. It's only HTML in the long run that your browser interprets to layout (the 'M' in HTML is for Markup after all.)
I knew that, but thanks for the "thump" on the head! :p
(Although, I thought HTML and CSS were just for "presentation"??)
bretticus;10877810 wrote:That being said, let's talk about AJAX. I should point out that AJAX is not a standardized tool but an acronym to describe a method for dynamic markup. The 'A' stands for asynchronous because the idea is using javascript to make the webpage requests (instead of the browser) and return data to be acted upon (think event handler.) The major benefit here is that the browser stays on the same page and the user experience can be made to feel more like a standard application rather than a website.
And that is important, but I want this to look and feel like a very professional, and Client type application.
bretticus;10877810 wrote:You could get by without using AJAX for what you are building. However, if you wanted to make a rich UI for your users, you could use javascript to show/hide simulated tabs and use AJAX to upload the forms to the database instead.
Since I am a newbie, and my FIRST priority is getting this built before I drown in Paper Receipts, what would you recommend?
Is there something that would dynamically pop up fields and/or sub-forms that is maybe quicker to use than AJAX?
Can PHP do that?
And do I want to use a "Sub-Form Paradigm", or should it be a "Field Paradigm" where I am popping up (and down) just the fields?
**NOTE: One important consideration is form layout. If I am going to the trouble of capturing disparate data, then I want a different look-and-feel for each situation. In the end, the "Grocery Entry Form" and the "Gas Receipt Entry Form" and the "Electric Bill Form" should be designed to mimic how the paper reecipt/bill looks and be designed for maximum data-entry efficiency.
This is why I joined this board...
Any dummy can can create 15 seperate HTML forms that are laid out differently. But it takes a more knowledgeable person - like yourself - to create ONE dynamic form that can act like 15 seperate forms, but look more integrated to the end-user.
Sounds like you at least understand me, and seem supportive.
That is a great start!
Now what?
Just Bob