Dringendes Problem
Ich soll von meinem Arbeitgeber aus ein Onlineshop auf die Beine stellen dieser soll auf der Basis eines Shopsystems laufen. Dafür verwendete Ich Xt-Commerce. In diesem Shop sollen Maßanfertigungen verkauft werden. Der Bestellprozeß soll aussehen wie auf diesem Link www.lamellenshop.de. Man soll wenn man sich ein Produkt ausgesucht hat wie in einem Windowsinstaller Schritt für Schritt abgefragt werden und am Ende landet ein fertiges Produkt im Warenkorb von Xt-Commerce. Da Xt-Commerce an sich dieses Prinzip nicht bietet habe Ich es wie folgt angefangen. Ich habe in 20cm schritten die Produkte in der Datenbank angelegt. Dann habe Ich mehrere Sub-Kategorien angelegt auf denen Ich die einzelnen PhP Seiten einbinde damit Ich immer im Shop-System bleibe und die Rückgabe an das Shopsystem wieder Problemlos stattfinden kann.
Nun die Sache Sessions werden vom Shopsystem verwaltet und können nicht gestartet werden deswegen habe Ich die Daten in einem unsichtbaren Feld mitgenommen. Nun habe Ich versucht eine Schleife zu erstellen welche die 2 werte nimmt Höhe und Breite und jeweils diese abgleicht auf das nächst höhere Produkt. zb. man gibt ein in dem Feld breite=55 Höhe=52 dann soll das Produkt 60x60 gegriffen werden.
Ein Teil des Problems ist das Shopsystem welches unter der Smarty Template Engine arbeitet und damit entweder manche Sachen verbietet oder Syntax zum Teil auch anders Interpretiert.
Sachen wie JavaScript sind in unter Dateien des Shopsystems zb. Verboten dafür gibt es dann eine einzige Datei in die alle JavaScripts kommen und diese werden dann nicht nur wenn man sie braucht gestartet sondern für das ganze Shopsystem (jede Seite). Man kann Sachen wie Java-Script oder Flash oder anderes auslagern in einzelne Dateien und diese dann in einem Ordner außerhalb des von .htaccess Geschützen Bereich starten aber wieder zum Problem.
Der Produktkatalog sieht wie folgt aus.
Es gibt an dem ganzen 3 wichtige Tabellen.
CREATE TABLE `products` (
`products_id` int(11) NOT NULL auto_increment,
`products_ean` varchar(128) default NULL,
`products_quantity` int(4) NOT NULL default '0',
`products_shippingtime` int(4) NOT NULL default '0',
`products_model` varchar(64) default NULL,
`group_permission_0` tinyint(1) NOT NULL default '0',
`group_permission_1` tinyint(1) NOT NULL default '0',
`group_permission_2` tinyint(1) NOT NULL default '0',
`products_sort` int(4) NOT NULL default '0',
`products_image` varchar(64) default NULL,
`products_price` decimal(15,2) NOT NULL default '0.00',
`products_discount_allowed` decimal(3,2) NOT NULL default '0.00',
`products_date_added` datetime NOT NULL default '0000-00-00 00:00:00',
`products_last_modified` datetime default NULL,
`products_date_available` datetime default NULL,
`products_weight` decimal(5,2) NOT NULL default '0.00',
`products_status` tinyint(1) NOT NULL default '0',
`products_tax_class_id` int(11) NOT NULL default '0',
`product_template` varchar(64) default NULL,
`options_template` varchar(64) default NULL,
`manufacturers_id` int(11) default NULL,
`products_ordered` int(11) NOT NULL default '0',
`products_fsk18` int(1) NOT NULL default '0',
`products_vpe` int(11) NOT NULL default '0',
`products_vpe_status` int(1) NOT NULL default '0',
`products_vpe_value` decimal(15,4) NOT NULL default '0.0000',
`products_startpage` int(1) NOT NULL default '0',
`products_startpage_sort` int(4) NOT NULL default '0',
`group_permission_3` tinyint(1) NOT NULL default '0',
`breite` decimal(15,0) NOT NULL default '0',
`hoehe` decimal(15,0) NOT NULL default '0',
`druckkosten` decimal(8,0) NOT NULL default '0',
PRIMARY KEY (`products_id`),
KEY `idx_products_date_added` (`products_date_added`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=679 ;
--
-- Daten für Tabelle `products`
--
INSERT INTO `products` VALUES (2, '', 0, 6, 'Leuchtkasten', 0, 0, 0, 0, '7_0.jpg', 67.29, 0.00, 0', '', NULL, 9.62, 1, 1, '', '', 0, 19, 0, 0, 0, 0.0000, 0, 0, 0, 40, 40, 0);
INSERT INTO `products` VALUES (3, '', 0, 6, 'Leuchtkasten', 0, 0, 0, 0, '7_0.jpg', 85.43, 0.00, '', '', NULL, 14.43, 1, 1, '', '', 0, 19, 0, 0, 0, 0.0000, 0, 0, 0, 40, 60, 0);
Tabelle 2
CREATE TABLE `products_description` (
`products_id` int(11) NOT NULL auto_increment,
`language_id` int(11) NOT NULL default '1',
`products_name` varchar(64) NOT NULL default '',
`products_description` text,
`products_short_description` text,
`products_keywords` varchar(255) default NULL,
`products_meta_title` text NOT NULL,
`products_meta_description` text NOT NULL,
`products_meta_keywords` text NOT NULL,
`products_url` varchar(255) default NULL,
`products_viewed` int(5) default '0',
PRIMARY KEY (`products_id`,`language_id`),
KEY `products_name` (`products_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=700 ;
Tabelle 3
CREATE TABLE `products_to_categories` (
`products_id` int(11) NOT NULL default '0',
`categories_id` int(11) NOT NULL default '0',
PRIMARY KEY (`products_id`,`categories_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Diese 3 sind notwendig um ein Produkt erscheinen zulassen in Xt-Commerce.
Zur Zeit versuche Ich das so zulösen was aber nicht funktioniert es gibt immer nur ein € oder das erste Produkt aus.
{php}
$hoehee=$_POST[hoehe];
$breitee=$_POST[breite];
$montage=$_POST[montage];
$farbe=$_POST[farbe];
echo "Hoehe= ".$hoehee."<br>";
echo "Breite= ".$breitee."<br>";
echo "Montage= ".$montage."<br>";
echo "Farbe= ".$farbe."<br>";
$server='localhost';
$user='xxx';
$passw='xxx';
$db='xxx';
$conn=mysql_connect($server,$user,$passw);
//Auswählen der Datenbank
$select=mysql_select_db($db,$conn);
$ausw="SELECT products_id FROM products_to_categories WHERE categories_id='14'";
$res1=mysql_query($ausw);
$num=mysql_num_rows($res1);
list($products_id)=mysql_fetch_row($res1);
$auswahl="SELECT products_model,products_price,breite,hoehe From products WHERE products_id='$products_id'";
$res=mysql_query($auswahl);
$number=mysql_num_rows($res);
list($products_model,$products_price,$breite,$hoehe)=mysql_fetch_row($res);
echo "Ausgelesene Höhe: ".$hoehe."<br>";
echo "Eingegebene Höhe: ".$hoehee."<br>";
echo "Ausgelesene Breite: ".$breite."<br>";
echo "Eingegebene Breite: ".$breitee."<br>";
if($hoehe==$hoehee&&$breite==$breitee)
{
echo "<table border='1'>";
echo "<tr><td>$products_model</td><td>$products_price €</td><td>$breite</td><td>$hoehe</td></tr>";
echo "</table>";
}
else
{
for ($i=0;$hoehe<$hoehee;$i++)
{
list($products_model,$products_price,$breite,$hoehe)=mysql_fetch_row($res);
echo "Ausgelesene Höhe: ".$hoehe."<br>";
echo "Eingegebene Höhe: ".$hoehee."<br>";
echo "Ausgelesene Breite: ".$breite."<br>";
echo "Eingegebene Breite: ".$breitee."<br>";
}
echo "Daran wird gearbeitet.";
}
{/php}
Ich muss Montag vor meinem Chef stehen mit einem fertigen laufendem Prinzip. Sollte jemand Fragen an mich haben entweder hier oder per ICQ unter 117282081.
Ich soll von meinem Arbeitgeber aus ein Onlineshop auf die Beine stellen dieser soll auf der Basis eines Shopsystems laufen. Dafür verwendete Ich Xt-Commerce. In diesem Shop sollen Maßanfertigungen verkauft werden. Der Bestellprozeß soll aussehen wie auf diesem Link www.lamellenshop.de. Man soll wenn man sich ein Produkt ausgesucht hat wie in einem Windowsinstaller Schritt für Schritt abgefragt werden und am Ende landet ein fertiges Produkt im Warenkorb von Xt-Commerce. Da Xt-Commerce an sich dieses Prinzip nicht bietet habe Ich es wie folgt angefangen. Ich habe in 20cm schritten die Produkte in der Datenbank angelegt. Dann habe Ich mehrere Sub-Kategorien angelegt auf denen Ich die einzelnen PhP Seiten einbinde damit Ich immer im Shop-System bleibe und die Rückgabe an das Shopsystem wieder Problemlos stattfinden kann.
Nun die Sache Sessions werden vom Shopsystem verwaltet und können nicht gestartet werden deswegen habe Ich die Daten in einem unsichtbaren Feld mitgenommen. Nun habe Ich versucht eine Schleife zu erstellen welche die 2 werte nimmt Höhe und Breite und jeweils diese abgleicht auf das nächst höhere Produkt. zb. man gibt ein in dem Feld breite=55 Höhe=52 dann soll das Produkt 60x60 gegriffen werden.
Ein Teil des Problems ist das Shopsystem welches unter der Smarty Template Engine arbeitet und damit entweder manche Sachen verbietet oder Syntax zum Teil auch anders Interpretiert.
Sachen wie JavaScript sind in unter Dateien des Shopsystems zb. Verboten dafür gibt es dann eine einzige Datei in die alle JavaScripts kommen und diese werden dann nicht nur wenn man sie braucht gestartet sondern für das ganze Shopsystem (jede Seite). Man kann Sachen wie Java-Script oder Flash oder anderes auslagern in einzelne Dateien und diese dann in einem Ordner außerhalb des von .htaccess Geschützen Bereich starten aber wieder zum Problem.
Der Produktkatalog sieht wie folgt aus.
Es gibt an dem ganzen 3 wichtige Tabellen.
CREATE TABLE `products` (
`products_id` int(11) NOT NULL auto_increment,
`products_ean` varchar(128) default NULL,
`products_quantity` int(4) NOT NULL default '0',
`products_shippingtime` int(4) NOT NULL default '0',
`products_model` varchar(64) default NULL,
`group_permission_0` tinyint(1) NOT NULL default '0',
`group_permission_1` tinyint(1) NOT NULL default '0',
`group_permission_2` tinyint(1) NOT NULL default '0',
`products_sort` int(4) NOT NULL default '0',
`products_image` varchar(64) default NULL,
`products_price` decimal(15,2) NOT NULL default '0.00',
`products_discount_allowed` decimal(3,2) NOT NULL default '0.00',
`products_date_added` datetime NOT NULL default '0000-00-00 00:00:00',
`products_last_modified` datetime default NULL,
`products_date_available` datetime default NULL,
`products_weight` decimal(5,2) NOT NULL default '0.00',
`products_status` tinyint(1) NOT NULL default '0',
`products_tax_class_id` int(11) NOT NULL default '0',
`product_template` varchar(64) default NULL,
`options_template` varchar(64) default NULL,
`manufacturers_id` int(11) default NULL,
`products_ordered` int(11) NOT NULL default '0',
`products_fsk18` int(1) NOT NULL default '0',
`products_vpe` int(11) NOT NULL default '0',
`products_vpe_status` int(1) NOT NULL default '0',
`products_vpe_value` decimal(15,4) NOT NULL default '0.0000',
`products_startpage` int(1) NOT NULL default '0',
`products_startpage_sort` int(4) NOT NULL default '0',
`group_permission_3` tinyint(1) NOT NULL default '0',
`breite` decimal(15,0) NOT NULL default '0',
`hoehe` decimal(15,0) NOT NULL default '0',
`druckkosten` decimal(8,0) NOT NULL default '0',
PRIMARY KEY (`products_id`),
KEY `idx_products_date_added` (`products_date_added`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=679 ;
--
-- Daten für Tabelle `products`
--
INSERT INTO `products` VALUES (2, '', 0, 6, 'Leuchtkasten', 0, 0, 0, 0, '7_0.jpg', 67.29, 0.00, 0', '', NULL, 9.62, 1, 1, '', '', 0, 19, 0, 0, 0, 0.0000, 0, 0, 0, 40, 40, 0);
INSERT INTO `products` VALUES (3, '', 0, 6, 'Leuchtkasten', 0, 0, 0, 0, '7_0.jpg', 85.43, 0.00, '', '', NULL, 14.43, 1, 1, '', '', 0, 19, 0, 0, 0, 0.0000, 0, 0, 0, 40, 60, 0);
Tabelle 2
CREATE TABLE `products_description` (
`products_id` int(11) NOT NULL auto_increment,
`language_id` int(11) NOT NULL default '1',
`products_name` varchar(64) NOT NULL default '',
`products_description` text,
`products_short_description` text,
`products_keywords` varchar(255) default NULL,
`products_meta_title` text NOT NULL,
`products_meta_description` text NOT NULL,
`products_meta_keywords` text NOT NULL,
`products_url` varchar(255) default NULL,
`products_viewed` int(5) default '0',
PRIMARY KEY (`products_id`,`language_id`),
KEY `products_name` (`products_name`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=700 ;
Tabelle 3
CREATE TABLE `products_to_categories` (
`products_id` int(11) NOT NULL default '0',
`categories_id` int(11) NOT NULL default '0',
PRIMARY KEY (`products_id`,`categories_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Diese 3 sind notwendig um ein Produkt erscheinen zulassen in Xt-Commerce.
Zur Zeit versuche Ich das so zulösen was aber nicht funktioniert es gibt immer nur ein € oder das erste Produkt aus.
{php}
$hoehee=$_POST[hoehe];
$breitee=$_POST[breite];
$montage=$_POST[montage];
$farbe=$_POST[farbe];
echo "Hoehe= ".$hoehee."<br>";
echo "Breite= ".$breitee."<br>";
echo "Montage= ".$montage."<br>";
echo "Farbe= ".$farbe."<br>";
$server='localhost';
$user='xxx';
$passw='xxx';
$db='xxx';
$conn=mysql_connect($server,$user,$passw);
//Auswählen der Datenbank
$select=mysql_select_db($db,$conn);
$ausw="SELECT products_id FROM products_to_categories WHERE categories_id='14'";
$res1=mysql_query($ausw);
$num=mysql_num_rows($res1);
list($products_id)=mysql_fetch_row($res1);
$auswahl="SELECT products_model,products_price,breite,hoehe From products WHERE products_id='$products_id'";
$res=mysql_query($auswahl);
$number=mysql_num_rows($res);
list($products_model,$products_price,$breite,$hoehe)=mysql_fetch_row($res);
echo "Ausgelesene Höhe: ".$hoehe."<br>";
echo "Eingegebene Höhe: ".$hoehee."<br>";
echo "Ausgelesene Breite: ".$breite."<br>";
echo "Eingegebene Breite: ".$breitee."<br>";
if($hoehe==$hoehee&&$breite==$breitee)
{
echo "<table border='1'>";
echo "<tr><td>$products_model</td><td>$products_price €</td><td>$breite</td><td>$hoehe</td></tr>";
echo "</table>";
}
else
{
for ($i=0;$hoehe<$hoehee;$i++)
{
list($products_model,$products_price,$breite,$hoehe)=mysql_fetch_row($res);
echo "Ausgelesene Höhe: ".$hoehe."<br>";
echo "Eingegebene Höhe: ".$hoehee."<br>";
echo "Ausgelesene Breite: ".$breite."<br>";
echo "Eingegebene Breite: ".$breitee."<br>";
}
echo "Daran wird gearbeitet.";
}
{/php}
Ich muss Montag vor meinem Chef stehen mit einem fertigen laufendem Prinzip. Sollte jemand Fragen an mich haben entweder hier oder per ICQ unter 117282081.
Kommentar