www.hobby-center.net Posted September 8, 2006 Report Share Posted September 8, 2006 Bin jetzt mit dem Artikelimport schon eine ganze Ecke weiter durch Eigeninitiative. *eigenlobstinkt!* Folgendes Skript habe ich dafür geschrieben : <?php require ("sql.php"); $sql = "select a.artikelnummer,a.beschreibung,a.preis,a.ean from import a order by a.artikelnummer ASC"; $result = mysql_query($sql); while ($record = mysql_fetch_array($result)) { echo "Alter Preis: $record[2]<br>"; // kommata raus, da so importiert $neuer_preis = ereg_replace (",", ".", $record[2]); // mwst ausrechnen - dabei an 2007 denken! ;-) $neuer_preis_mwst = $neuer_preis / 116 * 16; $neuer_preis = $neuer_preis - $neuer_preis_mwst; // erstmal den preis auseinander reissen in euro und eurocent $teile = explode(".", $neuer_preis); // auf 4 stellen verkleinern, da so von der shoptabelle vorgegeben $neuer_preis_1 = substr($teile[1], 0, 4); // jetzt alles wiederzusammenfügen $neuer_preis = $teile[0] . "." . $neuer_preis_1; // leerzeichen in der artikelnummer VOR der artikelnummer rausnehmen $neue_artnr = ereg_replace ("( )", "", $record[0]); echo "Neuer Preis: $neuer_preis<br>"; // artikel selber $sql1 = "INSERT INTO products VALUES ('', '$record[3]', 100, 4, '$neue_artnr', 0, 0, 0, 0, 0, NULL, '$neuer_preis', '0.00', NOW(), NOW(), NULL, '0.00', 1, 1, 'product_info_v1.html', 'product_options_selection.html', 1, 0, 0, 0, 0, '0.0000', 0, 0)"; $result1 = mysql_query($sql1); $id = mysql_insert_id(); echo "ID: $id<br>"; // deutscher text $sql2 = "INSERT INTO products_description VALUES ($id, 2, '$record[1]', '', '', '', '', '', '', 'www.maerklin.de', 8)"; $result2 = mysql_query($sql2); // englischer text $sql3 = "INSERT INTO products_description VALUES ($id, 1, '$record[1]', '', '', '', '', '', '', 'www.maerklin.com', 0)"; $result3 = mysql_query($sql3); // kategorien $sql4 = "INSERT INTO products_to_categories VALUES ($id, 4)"; $result4 = mysql_query($sql4); echo "<br>"; } mysql_close ($connection); ?> Und die Tabelle IMPORT schaut so aus : DROP TABLE IF EXISTS `import`; CREATE TABLE `import` ( `artikelnummer` varchar(255) NOT NULL default '', `beschreibung` varchar(255) NOT NULL default '', `ean` varchar(255) NOT NULL default '', `preis` varchar(255) NOT NULL default '', PRIMARY KEY (`artikelnummer`) ) TYPE=MyISAM; SO, jetzt möchte ich noch folgendes ... ich habe in der Tabelle PRODUCTS ein Zusatzfeld erstellt namens SCALE. Eine weitere Tabelle habe ich auch in der Datenbank erstellt, die heisst auch SCALE. Schaut so aus : CREATE TABLE `scale_2005` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL default '', `nummer` char(2) NOT NULL default '', PRIMARY KEY (`id`) ) TYPE=MyISAM; Er soll jetzt sowohl auf der Artikeldetailseite, auf dem Datenblatt als wie auch in der Übersichtsliste mit den neuen Artikeln (kann man das auch ausstellen - wenn ja, wie ?!) dieses Zusatzfeld anzeigen. Meine Frage dazu wäre : Auf welchen dieser drei Seiten wird die MYSQL Abfrage gemacht, so das ich da das mit dem SCALE einbauen kann? Dient zur Anzeige des Maßstabs eines jeden Artikels. Mit anderen Worten : Nen' Zusatzfeld im Artikelstamm, was auch angezeigt werden kann. Und: Den Eintrag aus P_MODEL (sprich die Artikelnr.) soll auch auf den drei Seiten angezeigt werden, und die Preisliste sollte nach der Artikelnummer sortiert werden können (durch Zusatzeintrag im ADMIN Bereich auswählbar?!) - wie bekomme ich das hin?! Ansonsten : Sehr schönes Programm, nur doof, das man per IMPORT nur Nettopreise anlegen kann. Aber dafür hab' ich mir ja jetzt nen' Workaround schaffen können. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.