Hi
I am not a natural programmer, and find the skill very difficult at times, but I found a book by Larry Ullman: PHP and MysQL for Dynamic Websites to be particularly good.
There are numerous exercises to follow - starting at the very basic but concluding at a reasonably advanced level (E-Commerce/Content Management topics).
There is also a very good accompanying website that Larry posts to regularly - offering help and tips to users of his book.
I'd always start with a book, and work my way through, irrespective of the language. In fact - I'd apply that technique to whatever it is that I am learning.
Will