Fortlaufende Rechnungsnummer generieren

son gohan

Erfahrenes Mitglied
Hallo Forum,

ich habe ein Shop mit PHP und MySQL gebaut.

Wenn jemand was bestellt, wird der Artikel zusammen mit der Session-ID in eine MySQL-Tabelle „Warenkorb“ gelegt.

Aufbau der Tabelle ist ungefähr so:
Code:
|wkid    | session    | Artikel            | Menge  |
+--------+------------+--------------------+--------+
| 1      | 2          | Leichhandvibrator  | 10     |
| 2      | 2          | Billy Boy          | 12     |

Jetzt habe ich also einmal das Feld „wkid“, das mit auto_increment läuft, und einmal das Feld „session“. Die Session ist immer gleich und somit können alle Produkte, die zu einem Kunden gehören, unterschieden werden. Die „wkid“ wird immer bei jedem neuen Artikel um 1 erhöt.

Ich muss aber irgendwie jetzt noch eine Rechnungsnummer bekommen, die bei jeder erfogreichen Bestellung um 1 erhöt wird. Mir fällt so aber nichts ein, wie ich das realisieren könnte.

Ich bräuchte daher etwas Rat.
 
Arbeite am besten mit einer zusätzlichen Tabelle, in der die erfolgreichen Bestellungen notiert werden.
 
Hallo,

grundsätzlich muss ich Gumbo voll zustimmen.

Jedoch möchte ich zu bedenken geben (aus eigener Erfahrung), dass nicht jede Bestellung mitunter auch eine (erfolgreiche) Rechnung nachsich zieht.
Will heissen, dass es ja sein kann das ein Kunde seine Bestellung wiederruft - dann hast du die Rechnungsnummer vergeben und muss diese (teuer) stornieren und einen Nachweis über die Stornierung führen.

Ich mache das mittlerweile so, dass ich erst wenn ich die Rechnung tatsächlich drucken will die Rechnungsnummer aus einer DB auslese und die Rechnung generiere - auch speichere ich dann die Bestellnummer mit der Rechnungsnummer damit, wenn ich eine Kopie der Rechnung ziehen will nicht eine neue Rechnungsnummer generiert wird. Nachdem die Rechnung erfolgreich generiert wurde erhöhe ich den Wert in der DB um 1.

Ich hoffe, dass ich helfen konnte.
 
Hallo dwex,

lang nichts gehört von dir alter Freund. Ich habe mir schon gedacht das man irgendwie mit einer zusätzlichen Tabelle gearbeiten werden muss. Aber trotz der Hinweise von euch beiden fällt mir jetzt kein Weg ein wie ich das machen kann.

Deine extravagante Lösung ist natürlich wieder ein Tick weit interessanter, kannst du dich bitte bei mir melden, dann können wir mal über eine gleiche Lösung für mein Shop reden?
 
Zurück