You can probably, do it entirely with PHP. Having a button you click which creates a row in your database like:
[ID: 1][Start: 1257443698][End: /Empty/]
When you click the button again, it would put the end time on the newest entry (one with highest id, or you could take the one with the most recent "Start):
[ID: 1][Start: 1257443698][End: 1257443720]
From there's it's pretty easy to calculate the difference. :)
Begins counting in seconds..
AJAX which puts the session into the database, i.e.:
[ID: 1][Date: 1257443698][Time(Seconds): 732]
From there it's also pretty easy to play with! :)
I'm not entirely sure what you mean by the other ones, but I hope above can work out for you! The code should be pretty simple, and you learn best by doing it yourself, and then get support here.
Thought I would throw your way some good reference material. If you don't know about php.net look them up and then do a search for the date() time() mktime() and strtotime() functions. And as a database is needed you can look up the mysql functions. They have tons of examples and user input, for all the php functions, that can be of great help if your just getting started.
Even after 10+ year of web design I always am looking things up on their site.
Also I hope your web host has phpmyadmin for you to use as it will make the initial setup of the MySQL data base a breeze as well it has some nice features that may help you learn to work with MySQL.
After that google, the number of times I have searched for "php somefunction" to find good examples of how to use some functions is innumerable.
What your trying to do is fairly straight forward. I believe my first php was of a similar nature. I think as recent as a few months ago I used that script (obviously updated for php changes).
After looking up those functions and you have something as far as working code that we can look at I am sure many here can help you in much more detail.