Database.
Every ID should be non-zero, zero is used for default values
Table Name: Company_"Company Name"
Table Description: A table for each company represented
Table colss: ItemID, Link, Price
col ItemID: A unique identifier for an item. Must be unique and non-zero
0 ID Means we only have an adress to site homepage, or that adress is /a
col Link: The link associated with the item
col Price: The price of the item
Table Name: Categories
Table Description: Hold all categories and theyre parent directory
Table cols: ID, Name, Parent
col ID: An unique identifier for each category
col Name: The string name representing the category
col Parent: The unique ID of a parent category, 0 if there is no parents
Table Name: Items
Table Description: Hold information about all available items
Table cols: ItemID, CategoryID, CompanyIDArray
col ItemID: Unique Item Identifier
col CategoryID: The ID of the category this item is located in
col CompanyIDArray: A serialized array of company ID's from wich this product is available
Table Name: UIDs
Table description: Hold all used UIDs to make sure of the uniqueness (usefull if we remove etc..)
Table cols: ItemID, CompanyID, CategoryID
Deal with the Tables:
Edit:
Add Company ( string Company Name ) Creates a new company table
new Company (table Company_ + "Company Name" )
Add Category ( Dropdown Sub, string Category ) Create a new company, Unique ID is assigned automatically
new Category ( Automatically generate the UID, Category_ + "Category", int( Sub ) )
Add Item ( string Item Name, dropdown Category ) Create a new item in the desired category
new Item( Automatically Generate UID, int (Category), 0 for no-company in item, default)
Add Item_Company ( string ItemName OR TreeView choose by category, dropdown Company )
Retrieve existing Company Array, if not 0, append Company ID of the dropdown to the ItemID entry in Item table
Read:
GetItemsByCategory ( Category ID )
return an array of Item ID.
foreach ( Item in Items ) If (Item.CategoryID == this.CategoryID) { Resize + Append the ItemID to array returned}
then deal with ItemID. Get Companies by retrieving ItemID.CompanyID's.
Get Price by using the retrieved Company ID in Company table
retrieve the lowest price, show it on product list page
maby a func like: GetCompany's ( GetItemsByCategory[ x ] )
eg: array rItems = GetItemsByCategory ( this.Category )
foreach ( item in rItems ) { array currItemAvailability = GetCompany's ( rItems[x] ) }
display on page now :D
categories
* Ordinateurs + Périphériques et Composants + Logiciels (Ordinateurs)
/TODO Ne pas prendre en consideration les categories ci-dessous
* Photo + Développement photo
* Téléviseur et vidéo
* Audio
* Radio par Satellite
* Audio / Video pour lauto
* Lecteurs MP3 / Électroniques portatif
* Téléphones et assistants personnels
* Électroménagers
* Accessoires
* Cartes-cadeaux
* Divertissement
* Films DVD
* Musique
* Jeux video et Jouets
Téléchargements de musique