in the product options tutorial:
there are two types of product options covered:
Color options without a price increment.
Size options with a price increment for certain sizes.
the section that deals with the size options will help you in creating this.
the Basic idea is this:
There is products table that defines the products
There is an option groups table that defines the groups: size , color.
Another table defines the options, small, medium, blue yellow. the options table has a column that links to the option groups table so define which options belong to which group, Small to size group, yellow to color group.
there is a product options table. this table is used to assign options to a given product. in this table there is a linking column to store the product ID. there is also a column for price increment.
on the page, you create a recordset to lookup the Size options for the product and use that recordset to populate the list using the productoptionid column as the value.
you create another recordset that will lookup the selected product option id to return the option name and price increment.
this recordset is used for the size column in the cart, and the size price increment column.
in the cart object, you create a calculation to set the true Price of the product as the price + sizePriceIncrement
the tutorial linked above coves the particulars of creating the needed recordsets and cart columns, and calculations.