Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: settuping up pseudo tables in mysql shopping cart

by merlyn (Sage)
on Nov 28, 2005 at 19:37 UTC ( #512346=note: print w/replies, xml ) Need Help??


in reply to setting up pseudo tables in mysql shopping cart

Perhaps your problem is understanding database normalization.

The minimal structure for a shopping cart is that the Order table holds everything that exists only once for an Order (person, shipping address, method of payment, etc), and a unique Order ID. The Order Items table holds each of the items (item ID, quantity, color, etc), as well as the ID of the order to which it belongs.

To add an item, simply insert it into the Order Items table with the proper Order ID for the current Order. To check out, select all items in the Order Items table where Order ID is your current Order ID.

You definitely don't need "a table per person"!

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.

  • Comment on Re: settuping up pseudo tables in mysql shopping cart

Replies are listed 'Best First'.
Re^2: settuping up pseudo tables in mysql shopping cart
by coldfingertips (Pilgrim) on Nov 28, 2005 at 19:51 UTC
    Are you saying to have a table set up like this?
    id unique userid itemname itemnum qty price itemweight 307 af4jsdfds frog 34 4 2.50 4.5 308 8843kksd bear 12 2 8.00 5.0 309 af4jsdfds bear 5 3 8.00 5.0
    And then when I need the information for a userid, I look up every column containing it?

      No. Create a table for each unique type of entity in your system: a Customer, perhaps an Address, an Item for sale, and an Order. Then create a table for each one to many relationship in the system. An Order contains many Items, so you need an Order_Items table.

      Then to add an order, find the Customer's id (creating a Customer or using an existing one). Create a new Order. Add a row to the Order_Items table for each Item in the Order.

      Every unique entity in the system should occur only once in the system. That's basically the normalization rule to go by.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://512346]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (3)
As of 2022-12-08 03:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?