I have a 6 month calendar set up for my client (a B&B operator). When dates become unavailable, I simply change my tags to include a CSS class. For example, if I want to mark the 5th and 6th as booked, I change the code like this:
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td class="no">5</td>
<td class="no">6</td>
<td>7</td>
</tr>
<tr>
<td>8</td>
<td>9</td>
....
</tr>
</table>
Easy enough. But my client would like to be able to make these updates on her own, and I’m not sure how to set her up to do this. I’ve looked at Content Management Systems, but it seems that those are set up to change content within an HTML tag, and not the tag itself.
Any advice is very appreciated!
Thanks
The short answer, it’s likely going to be over your head for the moment (no offense intended).
What you’re asking is going to require knowledge of a back-end language like PHP or ASP, a database (with knowledge of how to access it – often MySQL), and an understanding of many security related things like authentication/authorization, SQL injection…etc.
If you’re not in a rush for this to be done, you can start learning PHP/MySQL as a starting point. Doing a CMS like this is not the easiest first-time PHP projects though – just a heads up… there are a lot of things you may not think about for data integrity, security…etc
If you are in a rush, likely your best bet moving forward is to either find another developer with the above knowledge or start looking through CMS options to see what’s available in them: http://spyrestudios.com/free-content-management-systems/ (there may be a calendar plugin for some that allow you to do what you’re asking).
Doing it yourself explanation:
After dealing with user logins…etc, you’ll probably want to make a front-end calendar that allows the user to click a date, and select options – this can be done with html/css/javascript. When they select an option for a date, you can Ajax it to a file that processes the data into a database to store which dates have selected options. Then, when displaying the calendar on the front end, just compare against the database and write the option(s) as a class, or as data, or anything else you want.
This is a very general/fast explanation, as it’s going to vary GREATLY depending upon needs. (and this question is listed as HTML/CSS anyway.