Here are some tips to optimize your site...
Replace chunks of html styling with CSS. Every time you are telling the browser to display one of your repeated tables wwith information, is is outputinng the same large chunk of HTML again and again. If you use CSS, it will refer to that style, and therefore it will reduce the html output size.
Next, the design of displaying information is not pratical. Show smaller pictures, and make them compressed. Show basic information, such as the price and then have all the other information on a separate page called "more information".
Instead of placing a large amount of products on one page, just show say 15, then make it clear to the user that there are more pages to search. Tour page shouldn't scroll more than 3 times down if youa re trying to sell things, because people will get board and will not be bothered to read the lot. You need to categorize your products. Whats an ipod doing in the same category as a mouse, camera and computer?
Use G-zip compression. In PHP you can set an output bufferer which compresses all of the HTML is the browser supports it, thus making the output quicker to load.
You should have several small pages, as oppoed to one big one otherwise people will get board.
I hope that helped, best of luck.