MaSie
19.10.2003, 01:04
Hallöle,
hab mal wieder ein Superprob zu lösen:
In meiner DB für nen Shop speicher ich für jeden Artikel etliche Sachen. Da es für Klamoten ist, kann jeder Eintrag 2 mögliche Optionen haben, wie etwa Größe und Farbe.
Hier mal die Tabelle mit einem Beispielhaftem Datensatz (muß man nicht unbedingt lesen um untenstehendes Problem zu verstehen, aber vielleicht hilfts trotzdem jemanden:
CREATE TABLE shop_artikel (
ArtikelID int(11) NOT NULL auto_increment,
KategorieID int(4) NOT NULL default '0',
Seite tinyint(4) NOT NULL default '0',
SeitenRank tinyint(4) NOT NULL default '0',
Bez varchar(255) NOT NULL default '',
Beschreibung varchar(255) NOT NULL default '',
Optionen1 varchar(40) NOT NULL default '',
Optionen2 varchar(40) NOT NULL default '',
Bild varchar(40) NOT NULL default '',
Bildgross varchar(40) NOT NULL default '',
Imagewidth smallint(7) NOT NULL default '0',
Imageheight smallint(7) NOT NULL default '0',
AuswahlGroessenETC varchar(255) NOT NULL default '',
Bestellnr varchar(10) NOT NULL default '0',
AnzBestellungen tinyint(4) NOT NULL default '0',
VerfuegbarkeitTage tinyint(4) NOT NULL default '0',
Vorrat varchar(255) NOT NULL default '0',
Preis decimal(6,2) NOT NULL default '0.00',
NeuFlag enum('0','1') NOT NULL default '0',
PRIMARY KEY (ArtikelID)
) TYPE=MyISAM;
INSERT INTO shop_artikel VALUES (1, 8, 1, 1, 'Roma', 'BH + String von Lise Charmel in transparenter Spitze', 'Größe:36,38,40,42,44', 'Farbe:rot,schwarz,weiss', '1.jpg', 'apache_pb.gif', 259, 32, '', '001', 0, 1, 'hier kommt das zusammengeschusterte rein', '39.99', '1');
Nun muß hier noch die noch vorhandene Anzahl für jede Kombination rein. Hatte da an ungefähr folgendes Format für Anzahlfeld gedacht:
rot36@4;rot38@5;rot40@1;rot42@3;rot44@3;schwarz36@3;schwarz38@4.............
Also vom Prinzip her liste ich alle Kombinationen von Optionen1 und Optionen2 auf. Natürlich kann man evtl. auch die Seperatoren weglassen aber das soll jetzt erstmal nicht berücksichtigt werden, ebenso, dass ich eventuell sehr lange Feldinhalte bekommen kann.
Dieses Format zu generieren ist ja kein Problem, aber wenn ich jetzt ein Update auf den Datensatz machen möchte, will ich den Datensatz natürlich nicht vorher nochmals auslesen oder alles in nem Cookie oder im Url weiterreichen um den Update zu generieren, sondern das ganze mit regulären ausdrücken oder ähnlichem machen.
Nun die konkrete Frage: wenn ich weiß, das mein Artikel "rot" "42" 1 mal verkauft wird, dann soll der obige BeispielFeldinhalt nachher so aussehen"..........rot42@2;..... (Also aus rot42@3 wird rot42@2)
Jemand ne Ahnung wie das realisierbar ist?
Sollte mal ne Herausforderung sein, oder?
MfG Martin.
hab mal wieder ein Superprob zu lösen:
In meiner DB für nen Shop speicher ich für jeden Artikel etliche Sachen. Da es für Klamoten ist, kann jeder Eintrag 2 mögliche Optionen haben, wie etwa Größe und Farbe.
Hier mal die Tabelle mit einem Beispielhaftem Datensatz (muß man nicht unbedingt lesen um untenstehendes Problem zu verstehen, aber vielleicht hilfts trotzdem jemanden:
CREATE TABLE shop_artikel (
ArtikelID int(11) NOT NULL auto_increment,
KategorieID int(4) NOT NULL default '0',
Seite tinyint(4) NOT NULL default '0',
SeitenRank tinyint(4) NOT NULL default '0',
Bez varchar(255) NOT NULL default '',
Beschreibung varchar(255) NOT NULL default '',
Optionen1 varchar(40) NOT NULL default '',
Optionen2 varchar(40) NOT NULL default '',
Bild varchar(40) NOT NULL default '',
Bildgross varchar(40) NOT NULL default '',
Imagewidth smallint(7) NOT NULL default '0',
Imageheight smallint(7) NOT NULL default '0',
AuswahlGroessenETC varchar(255) NOT NULL default '',
Bestellnr varchar(10) NOT NULL default '0',
AnzBestellungen tinyint(4) NOT NULL default '0',
VerfuegbarkeitTage tinyint(4) NOT NULL default '0',
Vorrat varchar(255) NOT NULL default '0',
Preis decimal(6,2) NOT NULL default '0.00',
NeuFlag enum('0','1') NOT NULL default '0',
PRIMARY KEY (ArtikelID)
) TYPE=MyISAM;
INSERT INTO shop_artikel VALUES (1, 8, 1, 1, 'Roma', 'BH + String von Lise Charmel in transparenter Spitze', 'Größe:36,38,40,42,44', 'Farbe:rot,schwarz,weiss', '1.jpg', 'apache_pb.gif', 259, 32, '', '001', 0, 1, 'hier kommt das zusammengeschusterte rein', '39.99', '1');
Nun muß hier noch die noch vorhandene Anzahl für jede Kombination rein. Hatte da an ungefähr folgendes Format für Anzahlfeld gedacht:
rot36@4;rot38@5;rot40@1;rot42@3;rot44@3;schwarz36@3;schwarz38@4.............
Also vom Prinzip her liste ich alle Kombinationen von Optionen1 und Optionen2 auf. Natürlich kann man evtl. auch die Seperatoren weglassen aber das soll jetzt erstmal nicht berücksichtigt werden, ebenso, dass ich eventuell sehr lange Feldinhalte bekommen kann.
Dieses Format zu generieren ist ja kein Problem, aber wenn ich jetzt ein Update auf den Datensatz machen möchte, will ich den Datensatz natürlich nicht vorher nochmals auslesen oder alles in nem Cookie oder im Url weiterreichen um den Update zu generieren, sondern das ganze mit regulären ausdrücken oder ähnlichem machen.
Nun die konkrete Frage: wenn ich weiß, das mein Artikel "rot" "42" 1 mal verkauft wird, dann soll der obige BeispielFeldinhalt nachher so aussehen"..........rot42@2;..... (Also aus rot42@3 wird rot42@2)
Jemand ne Ahnung wie das realisierbar ist?
Sollte mal ne Herausforderung sein, oder?
MfG Martin.