PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   kleinster Preis für einen Artikel für alle anderen (http://www.selfphp.de/forum/showthread.php?t=26145)

mgbig 14.02.2019 13:38:42

kleinster Preis für einen Artikel für alle anderen
 
Hallo

Ich habe eine Tabelle mit Positionsdaten für Aufträge. Für die Artikel gibt es Staffelpreise, also z.B. ab 1 Stück 1,20 Euro, ab 12 Stück 1,- ab 48 Stück 0,90 usw. Es kann vorkommen, dass in einem Auftrag ein Artikel mehr als einmal vorkommt. Jetzt möchte ich dem Kunden aber im Falle von z.B. 3 x 25 Stk oder 10, 15 und 50 Stk des gleichen Artikels den Preis für 75 Artikel geben. Bei der Eingabe weiß ich das aber noch nicht, da es sich erst im Verlauf herausstellt, dass es so ist.
Ich frage mich daher, ob das mit einer UPDATE Abfrage zu bewerkstelligen ist. Also: Setze alle Preise für ArtikelNr=x des Vorgangs Y auf den kleinsten gefundenen Preis für alle Artikel in dieser Tabelle.
Code:

VorgangNr  |PosNr  |Menge |ArtikelNr  |ArtText    |Preis
1000      |1      |25    |160        |Schraube  | 1,-
1000      |2      |25    |165        |Mutter          | 0,50
1000      |3      |10    |160        |Schraube  | 1,20
1000      |4      |10    |165        |Mutter          | 0,70
1000      |5      |100  |160        |Schraube  | 0,90
1000      |6      |100  |165        |Mutter          | 0,45
1000      |7      |1    |170        |Bohrer          | 9,90
1001      |1      |10    |160        |Schraube  | 1,20
1001      |2      |10    |165        |Mutter          | 0,70

nach der Abfrage für Vorgang 1000 soll es so aussehen:
VorgangNr |PosNr |Menge |ArtikelNr |ArtText |Preis
Code:

1000      |1      |25    |160        |Schraube  | 0,90
1000      |2      |25    |165        |Mutter          | 0,45
1000      |3      |10    |160        |Schraube  | 0,90
1000      |4      |10    |165        |Mutter          | 0,45
1000      |5      |100  |160        |Schraube  | 0,90
1000      |6      |100  |165        |Mutter          | 0,45
1000      |7      |1    |170        |Bohrer          | 9,90
1001      |1      |10    |160        |Schraube  | 1,20
1001      |2      |10    |165        |Mutter          | 0,70

Danke für die Mühe
mgbig

vt1816 15.02.2019 02:38:00

AW: kleinster Preis für einen Artikel für alle anderen
 
Ja.

Wo bzw. wann Du das Update machst, hängt von Deinen Art der Erfassung der Artikel zu einem Vorgang ab.

Möglichkeiten wären:
1. Gleich beim Hinzufügen eines Artikel oder
2. Beim Aufruf des Warenkorbs oder
3. Beim zur Kasse gehen

mgbig 15.02.2019 10:46:21

AW: kleinster Preis für einen Artikel für alle anderen
 
Danke für die Antwort.

Es geht nicht um einen Webshop, sondern um eine manuelle Auftragserfassung deren Daten in einer MYSQL Datenbank gespeichert werden. Ich möchte zu jeder Zeit die Möglichkeit haben die oben beschriebene Aktion durchzuführen. Am ehesten passt aber "beim zur Kasse gehen"
Manchmal habe ich einfach mehrere Seiten Auftrag (oder Anfrage) vor mir und weiß am Anfang nicht, was da alles gefordert wird. Und am Ende stelle ich fest, dass ein Artikel 3-5 x vorkommt und das auch noch mit mehreren Artikeln. Staffelpreise gibt es, weil es logistisch sinnvoll ist an einer Lagerstätte mehr einzupacken als nur einen Artikel. Daher habe ich mir überlegt, dass ich die auch anwenden kann, wenn ein Kunde obige 3-5 x einen Artikel bestellt und auf die nötige Menge kommt. Natürlich wäre es schön, wenn der Kunde gleich sagt ich brauche 75, aber dazu bekommt man manche Kunden halt nicht...

Ich hoffe, ich habe mich verständlich ausgedrückt...
mgbig

vt1816 15.02.2019 12:14:35

AW: kleinster Preis für einen Artikel für alle anderen
 
Wie erfasst Du den Auftrag?

1. Grid mit mehreren Zeilen pro Auftrag und anschließend speichern in der Datenbanktabelle
2. jeden Artikel im Auftrag einzeln und gleich speichern in der Datenbanktabelle

mgbig 15.02.2019 16:51:49

AW: kleinster Preis für einen Artikel für alle anderen
 
Hallo

Danke für die Antwort.
Jede einzelne Position wird erfasst und dann gespeichert, also 2.

Gruß mgbig

vt1816 15.02.2019 17:14:49

AW: kleinster Preis für einen Artikel für alle anderen
 
Ok.

Nach dem erfassen merke Dir den letzten Artikel (ArtikelNr) zu dem Auftrag (VorgangNr), ermittle die Menge (Summe Menge) des Artikel in dem Auftrag und mache anschließend das UPDATE des Einzelpreises auf Grund von evtl. Mengenrabatt für den Artikel in dem Auftrag.

Oder mache es komplett nach der vollständigen Erfassung des Auftrags einmalig.
Hängt von der inneren Logik des Aufbaus Deines Programmes ab, welcher Weg der perfomantere für Dich ist.


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:29:58 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.