If it were me, I would first create a role for members. I would have each member register and then have an officer assign them the role member
.
I would then use the views module to display a list of members by using a filter by role. That would allow a list of members to be shown.
Then, I would create an attendance
table and a meeting
table in the database. (You can do this through the next step if you want to learn how to create drupal db schema
. I would probably have the fields:
meetingId
meetingDate
meetingDescription
The attendance
table would have:
meetingId
userId
When a user attends, you create a reference to the meetingId
from the meeting
table and create an enter with the drupal user id. When you want to know who selected a given meeting, you select all userId's from the attendance
table matching the meetingId
.
I would then write a simple module that uses the forms api
to create a meeting. Then, you would have another page that lists all of the users by selecting all the ones with the member
role and again using the forms api
you would add an entry for the attendance
table for each person that was there.
So there would be one link and two coded pages now... one link to "view meetings" which would show all of the meetings. If you click on a meeting, you would be taken to the page which displays users. If the meeting was in the past (meaning some historical data exists), it should have historical attendance data. You can handle that in one of two ways... either show them the historical data and do not allow edits, or you show your original form but populate the check boxes of people that attended. Otherwise, it is a new meeting and should just display the form. If it were me, I would allow edits and it simplifies the page because it is the same form, just populated with check-boxes if there is any data.
This is an excellent opportunity to learn how to write a module. It is very simple yet complex enough to show you the ins an outs of creating a Drupal module. Also, it has a clear and definable end result which will either work or won't.
You can check out the schema module for help creating the database tables through the module. This is a good thing to learn.
If you want to go one step further, you can expose your tables to views and use the views module to create the display portions of your data. Although you will still need to create the forms on your own.
Update: Thought, you could also add a notes
column to the meetings so people could enter and save notes. Also, your imagination is the limit here. All sorts of other things could be done. However, I would keep it as simple as you can stand for your first module.