Prepare data : many products per row
I my opinion, the best way is if you  create a column for every(!) product. Yes, u will  get a high dimensional sparse Matrix but it should solve you problem quickly.