Suggestions for an Attendance Tracking application?

23 posts by 4 authors in: Forums > CMS Builder
Last Post: May 29, 2013   (RSS)

By gregThomas - May 15, 2013

Hi Jerry, 

What about having a two step process. On the first page they select a user by entering their ID or e-mail address, then on a second page all of the salons are listed with checkboxes against there names, pre checked if the user already has that salon selected. Then they can update the users salons by checking/unchecking as appropriate. This way the system would be dynamic and no changes would need to be made when new salons were added. 

Cheers

Greg

Greg Thomas







PHP Programmer - interactivetools.com

By gkornbluth - May 29, 2013 - edited: June 4, 2013

As promised, here’s a working solution to the “Attendance Tracking” system for 2 concurrent series of lectures.

It uses 3 editors.
A multi-record editor called “Attendance Listings”, with the following fields.

First Name (text field)
Last Name (text field)
Email Address (text field)
Lecture Name (list field values pulled from the Lecture Names database)
Attended (text field populated with the month, year and lecture code of the last attended lecture)

A multi record editor called Lecture Names with only one field. (In my case there are 4 records; Lecture 1 (record # 1), Lecture 2 (record # 2), Category 1 (record # 3),  and Category 2 (record # 4)

And a single record editor called “Attendee Messages”, with text fields called welcome_email_message_1 and welcome_email_message_2

THEORY

When an attendee fills out and submits the sign in form with either their Attendee ID number (record number) for express sign in, or their first name, last name and a valid email address, the “Attendance Listings” database is checked for a matching ID number or a matching email address.

If neither match is found, a new record is created with first_name, last_name and email_address field values, the “Lecture 1" check box is checked in the lecture_name field and the current month, year and lecture code are inserted into the “Attended” field. In addition, a welcome email is sent to the attendee with their Attendee ID number.

If a matching Attendee ID number is found the record is updated by appending the current month, year and lecture code to the “Attended” field and, if required, the appropriate additional lecture name check box is checked.

If a matching email address is found and there are no other errors, the record is updated by updating the first and last name, and where necessary, appending the current month, year and lecture code  to the “Attended” field. If required, the appropriate additional lecture name check box is checked..

A report viewer allows series administrators to generate email lists for all those who attended a particular lecture series, or a particular lecture or who belong to a specific category.  The lecture date queries are automatically generated so that their format is consistent.

For simplicity, I decided to create a separate sign in form for each lecture series (one set is attached as an example)

You can download the sign in form for the Lecture 1 series, the report viewer, and the php.ini files for the 3 editors involved from:

http://www.thecmsbcookbook.com/downloads/attendance.zip

I’ve sanitized the viewers and .ini files to be more generic, so if you come across any issues, post what you find and I’ll see if I can resolve them.

GOING FURTHER
There are still 2 issues to resolve:

1) Modifying the code so that any number of lectures can be automatically added and tracked. (I don’t mind generating a separate viewer for each new lecture, but I’d like to do that automatically as well).

2) Generating the welcome email in a more dependable way (right now I’m getting around the fact that a new record needs to be generated before its record number can be captured, by delaying the code for .5 seconds with a usleep(500000); command).

Any help would be appreciated.

Hope this proves useful.

Jerry Kornbluth

The first CMS Builder reference book is now available on-line!







Take advantage of a free 3 month trial subscription, only for CMSB users, at: http://www.thecmsbcookbook.com/trial.php