Results are out! Find what you need...fast. Get quick advice or join the chat
Hey there Sign in to join this conversationNew here? Join for free

Designing an online 'PC builder/customiser' similar to the one on the Dell website.

This thread is sponsored by:
Announcements Posted on
Applying to Uni? Let Universities come to you. Click here to get your perfect place 20-10-2014
    • Thread Starter
    • 0 followers
    Offline

    ReputationRep:
    I need to design an online 'PC builder/customiser' similar to the one on the Dell website which allows users to customise their PCs before buying it. I've checked on the net for some scripts with similar functions but they don't seem as good as the Dell one! SO, I have decided to code my own in PHP/MySQL. BUT, i'm not sure on how to design it. This is the idea i have @ the moment: the page pulls the PCs components e.g. hard drive, memory, processor from a table and then displays them in separate drop down lists. When the user selects for example a 120GB hard drive from the menu, it updates the price displayed on the page. BUT, it also will need to detect imcompatible component configurations like attempting to buy an P4 motherboard with an AMD processor...Ideas anyone?
    • Thread Starter
    • 0 followers
    Offline

    ReputationRep:
    I forgot the post the tables i have...

    Online Custom PC Builder

    Staff

    Staff ID
    First Name
    Surname
    Username
    Password
    Email Address
    Telephone Number
    Specialist area

    Customers

    Customer ID
    First Name
    Surname
    Title
    Username
    Password
    E-mail
    Address
    Postcode
    Country
    Telephone
    Fax
    Company
    Date of join

    Products

    Product ID
    Title
    Category
    Brief description
    Full description
    Manufacturer
    Price
    Stock
    Type
    Date last updated
    Image
    Hyperlink

    Shopping basket

    Basket ID
    Products
    Customer
    Date


    Invoice

    Invoice ID
    Products
    Customer
    Total
    VAT
    Discount
    Date
    Warranty

    PCs

    PC ID
    Title
    Brief Description
    Full Description
    Price
    Components

    Categories

    Computer Systems
    Disk Drives
    Flash Memory
    Graphics Cards
    Input Devices
    Memory
    Monitors
    Motherboards
    Networking Devices
    Notebooks/Laptops
    Mp3 Player
    Printers
    Processors
    Removable Storage
    Scanners
    Sound Cards
    Speakers
    Storage Media

    Sub Categories


    Manufacture

    Manufacture ID
    Name
    Description
    • Thread Starter
    • 0 followers
    Offline

    ReputationRep:
    (Original post by piginapoke)
    I'm not sure why you would want all those things in the category table as columns. How about:

    Category
    --------
    category_id PRIMARY KEY, NOT NULL
    category_name NOT NULL
    parent_category_id
    --------

    This will allow you to create a hierarchy of categories. e.g.:

    category_id = 1
    category_name = motherboard
    parent_category_id = null

    category_id = 2
    category_name = AMD motherboard
    parent_category_id = 1

    category_id = 3
    category_name = Intel motherboard
    parent_category_id = 1

    which will allow your program to display products in a tree structure.

    But if you're going down a 'wizard' style route where the various products are chosen in a specific sequence (e.g. processor then motherboard) then a hierarchy wouldn't be needed, just a more specific set of categories, then just use a query to select the appropriate motherboards after the processor has been chosen, e.g. if an AMD processor is selected (excuse the rusty SQL):

    SELECT * FROM product, category
    WHERE product.category = category.category_id
    AND category.category_name = 'AMD Motherboard';
    Those weren't supposed to be part of the table. I was just listening different categories, sorry!
Updated: July 26, 2004
New on TSR
Article updates
Reputation gems:
You get these gems as you gain rep from other members for making good contributions and giving helpful advice.