Hallo Leute ich habe mir im admin-Bereich ein neues Eingabefeld eingebaut "Hersteller UVP:", um evtl. Ärger wegen der "statt-Preise" vorzubeugen. Gibt es evtl. einen Befehl mit dem ich für alle Artikel den Verkaufspreis in dieses neue Feld bekomme? Bin ja ne faule Sa.....
Hallo Achim, also einzel ginge es ja über ALTER bzw. UPDATE. Aber für alle Artikel....Zuerst müsstest Du ja in der Tabelle products das Feld hersteller_uvp erzeugen. PHP: ALTER TABLE products ADD `hersteller_uvp` decimal(4,2) und dann zu jedem Artikel den entsprechenden Herstellerpreis angeben. Das geht in der DB meines Wissens über die products_id. Wäre dann nach anlegen des Feldes Hersteller UVP für einen einzelnen Artikel z.B. ungefähr so: UPDATE 'products' SET 'hersteller_uvp'="xx.xx" WHERE 'products_id'="xxx" Habe die Synthax jetzt nicht getestet. Auf jeden Fall musst Du aber jeder products_id die entsprechende UVP zuweisen. Das geht zwar auch über SQL, dauert aber m.E. genauso lange, als wenn Du es über den Adminbereich einfügst.
Hallo Achim, den Aufwand mußt Du eigentlich nicht betreiben. Ersetze "Statt2 durch "UVP", gib im Footer den Hinweis, was UVP heißt und sorge dafür, das diese UVP`s auch wirklich echt sind. So machen wir das und ist vom HB abgeegnet.
Hallo Gerd Danke erstmal. Die Felder sind ja schon vorhanden in der DB, sonst würden sie ja nicht angezeigt werden. Wenn ich den DB-Befehl auch einzeln machen müsste, kann ich es ja auch gleich im Artikel ändern. Ich dachte an einen Befehl der diesem Feld UVP den Wert aus dem Feld price überträgt. Hallo Angelika Das ist natürlich die einfachere Lösung!
Ich glaube, du suchst so etwas: Code: UPDATE products SET hersteller_uvp = products_price Das würde in allen Zeilen der Tabelle products den Wert aus der Spalte products_price in die Spalte hersteller_uvp übertragen. Gegebenenfalls also besser noch eine passende WHERE-Bedingung anhängen, wenn nicht alle Artikel gemeint sind.
Hallo Marco Danke. Hab's ausprobiert, funktioniert auch, allerdings werden die Netto-Beträge übertragen mit 4 Stellen hinter dem Komma. Bekommen wir das auch noch hin?
Hallo, die Preise in der Datenbank sind immer netto und werden vom Shop erst bei der Verarbeitung umgerechnet. Bruttopreise in der Datenbank zu bekommen, ist mit etwas Um-die-Ecke-Denken verbunden. Hinter meine Ecke finde ich so etwas: Code: create temporary table pricetrans SELECT products_id, (products_price * ((100 + tax_rate)/100)) as brutto FROM `products` p left join tax_rates tr on tr.tax_class_id = p.products_tax_class_id and tax_zone_id = 5; update products p set p.hersteller_uvp = (SELECT brutto FROM pricetrans pt WHERE pt.products_id = p.products_id); Natürlich wie immer ohne jegliche Gewähr.
Das ist ja nur was für Mutige... Habe ich natürlich nach einer DB-Sicherung gemacht und funktioniert, bis auf das er jetzt 12 Stellen hinter dem Punkt anzeigt..
Das kannst du am besten bei der Ausgabe per PHP wegrunden: PHP: $gerundet = number_format($zu_genau, 2, ',', '');
Ich weiß zwar nicht ganz genau, was du da machst, aber rein theoretisch sollte es irgendwo in user_classes/overloads/ProductInfoContentView/ passieren.
inzwischen weiß ich es auch nicht mehr , ne weiß ich schon. Nur der Tipp von Angelika ist natürlich viel einfacher umzusetzen und reicht ja auch vollkommen. Aber jetzt habe ich es halt geschafft in der Artikelbeschreibung (Backend und Frontend) ein neues Feld einzubauen und mal schauen ob das vielleicht auch für was anderes gut ist.