Technically you don't need a webserver to run PHP...
But that could be straying from the point.
PHP - Hypertext Preprocessor (The bit that does the work in providing the functionality)
PHPMyAdmin - A php based web application that deals with MySQL (database) and allows you to view the database intuitively
MySQL - A Database - used for storing data and is very useful - PHP can "query" this database very effectively.
Webserver - if you want to display the results from PHP, this is a very handy medium in which to do it. There are numerous ones out there, Apache, IIS to name but two.
As to learning PHP - this is a good place to start, as well as numerous books on the subject - one of which was written by some people from this very board... search for it as I don't have the link to hand.