Are you planning on implementing item options in this cart? Let's say you are selling a PC that comes with 128MB, 256MB, or 512MB of RAM which affect the price of the PC. What happens if a person orders 2 PC's with differing amounts of RAM? The product id is the same, but the price is different. In a case like this, it's not really using lists that is the problem, it is using the item's ID as the key.
Generally though if I am working with a set data that is complex enough that I want to use a structure, I follow it through all the way. I'd put every piece of data in a structure. I guess this would be as close to object oriented as we can get in CF currently... So if I wanted item 1002's price, qty, or anything else, I can refer to it by name, with one line of code. Don't be concerned about speed as much as the cleanliness of the logic. Macromedia will take care of that for us :) cart['1002']['price'] cart['1002']['qty'] jon Michael Tangorre wrote: > Hi everyone. > > I have just created a simple shopping cart and wanted to get some thoughts on my >approach to it. > > I create a structure of lists which is stored in the session scope. > > 1. cart.quantities > 2. cart.prices > 3. cart.products > > Basically every time I (add/remove/changeqty) a product, I go through and make >changes to the three lists: > > Example: > > products list (holds product IDs) 1001, 1002, 1003, 1004 > price list (hold price for sinlge product) 5.99, 6.45, 2.50, 8.99 > quantity (holds quantity of product added) 2, 4, 1, 1 > > So basically everytime I perform an operation, I use ListFind to get the position in >the list of the product whose > ID is passed into the page. Using that location of the product in the list, I just perform simple insertions, deletions, and updates using the location. > > Does anyone see any downsides to this method? > I build another cart using arrays, and the execution times for the templates were >considerably longer. > > Hit me back with some pros and cons or comments. > ______________________________________________________________________ Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/[email protected]/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

