Universele product selectie op scherm

Ik ben op zoek naar een manier om een redelijk “universeel” inzetbare productselectie te doen op het scherm.
Voorlopig denk ik aan:

  • Het scherm toont een aantal knoppen om produkten te kiezen
  • produkten komen uit databank
  • aantal produkten ligt niet vast (dus aantal knoppen niet op voorhand bekend)
  • hoeveel produkten op scherm tonen? Wijzigbaar aantal?
  • – tonen per categorie; bovenaan reeks “indruk”-knoppen met produktcategoriën (naam); ingedrukt = lichter; geen ingedrukt= alle, ander indrukken = eerste uit of bijkomend?? dan is “alle” knop nodig (misschien [*])
  • een knop per produkt, met produktnaam of afbeelding
  • een display waar informatie over de selectie komt
  • een methode om er een “aantal” selecties aan te koppelen?
  • een aktie-log in de vorm van een “rolletje” vgl kassa’s?

Ik drop de testversie voorlopig hier: upload.noxqs.org/ProductSelect

Welke databank?

— phpMyAdmin SQL Dump
— version 3.2.3
— http://www.phpmyadmin.net

— Host: localhost
— Generation Time: Dec 09, 2009 at 03:40 AM
— Server version: 5.1.36
— PHP Version: 5.3.0

SET SQL_MODE=”NO_AUTO_VALUE_ON_ZERO”;


— Database: `psProducts`

— ——————————————————–


— Table structure for table `bom`

CREATE TABLE IF NOT EXISTS `bom` (
`bom_id` int(11) NOT NULL AUTO_INCREMENT,
`bom_pri` int(11) NOT NULL,
`bom_sub` int(11) NOT NULL,
`credate` datetime NOT NULL,
`creby` varchar(10) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`bom_id`),
KEY `bom_pri` (`bom_pri`),
KEY `bom_sub` (`bom_sub`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’Bill Of Materials’ AUTO_INCREMENT=1 ;


— Dumping data for table `bom`

— ——————————————————–


— Table structure for table `price`

CREATE TABLE IF NOT EXISTS `price` (
`prc_id` int(11) NOT NULL AUTO_INCREMENT,
`prd_id` int(11) NOT NULL,
`prc_amount` float NOT NULL,
`prc_comment` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
`credate` datetime NOT NULL,
`creby` varchar(10) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`prc_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;


— Dumping data for table `price`

— ——————————————————–


— Table structure for table `product`

CREATE TABLE IF NOT EXISTS `product` (
`prd_id` int(11) NOT NULL AUTO_INCREMENT,
`prd_name` varchar(80) COLLATE utf8_bin NOT NULL,
`prd_img` varchar(100) COLLATE utf8_bin NOT NULL,
`credate` datetime NOT NULL,
`update` datetime NOT NULL,
`creby` varchar(10) COLLATE utf8_bin NOT NULL,
`updby` varchar(10) COLLATE utf8_bin NOT NULL,
PRIMARY KEY (`prd_id`),
KEY `prd_name` (`prd_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT=’products’ AUTO_INCREMENT=1 ;


— Dumping data for table `product`

(1) Uitgebreid met categorie:
CREATE TABLE `psProducts`.`category` (
`cat_id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`cat_name` VARCHAR( 30 ) NOT NULL ,
`cat_description` VARCHAR( 80 ) NOT NULL ,
INDEX ( `cat_name` )
) ENGINE = MYISAM ;

(2) Uitgebreid met koppeling categorie-product:
CREATE TABLE IF NOT EXISTS `catprd` (
`catprd_id` int(11) NOT NULL AUTO_INCREMENT,
`cat_id` int(11) NOT NULL,
`prd_id` int(11) NOT NULL,
PRIMARY KEY (`catprd_id`),
KEY `cat_id` (`cat_id`,`prd_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;


— Dumping data for table `catprd`

INSERT INTO `catprd` (`catprd_id`, `cat_id`, `prd_id`) VALUES
(1, 1, 2),
(2, 1, 3),
(3, 1, 4),
(4, 1, 5),
(5, 1, 6),
(6, 2, 1);

Categorie van producten? alleen “id” of combinaties?
zie uitbreiding.

Bill Of Material?: bom table

Product prijzen?: price table