Key "functions" is probably a bit too specific. First you need to start with key modules.
Looks as if you need a user module, search/display module, and a DB interface, at the very least.
So, you need to investigate authentication, which isn't particularly difficult in PHP, but there are a lot of decisions involved in setting up an auth scheme.
Then you need to learn to utilize/interface with a database. That includes picking the database. There are some generic classes and functions that may work for a few of the major databases, but many of the PHP database functions are specific to a particular database.
The "search for an item at Amazon" might be the trickiest. Amazon may have an API for this sort of thing, but you might have to pay for it. Investigate that first. If you have to "roll your own", you might look into the CURL functions, although there are probably other ways to do this as well (for example, it might be as easy as calling [man]file_get_contents/man on a remote file if allow_url_fopen is enabled in your PHP setup....
If you're a PHP neophyte, I'd say it's a tad on the complex side. If you're an advanced programmer with PHP experience, you might whip it up in a day or two. Good luck.