Kelvyn,
part three is coming, but I will be cheating a lot :-)
I will start with some examples on how to do the queries with 'normal' PHP code, but as you'll soon find out, that is very complex and way too annoying.
Therefore, I will soon switch to using the database abstraction layer that is described in one of the other tutorials.
That will cut down drastically on the size of the code and on it's complexity, so it is easier to focus on the logic rather than the dull mysql functions. (if you've seen one mysql function you've seen them all)
I will not be adressing the pricing any more than is required to get a price (ie: I'll do the averaging thing). Getting a 'fair' price is very complex, because if someone wants to buy one item, and five people have that item for sale for five different prices, which one should I offer? the lowest price would mean that the expensive items never get sold and vise versa.
I have no opinion about hosts (I host my own site🙂 )