Tobias Unger: fortlaufende Bestellnummern für Onlineshop

Beitrag lesen

Hi,

Eine Nummer in einer Datenbank, die immer weiter hochgezählt wird? Oder gibt es eine bessere Möglichkeit? Was ist, wenn zwei Kunden gleichzeitig bestellen? Wie lässt sich hier die Gefahr umgehen, dass beide die Gleiche nummer zugewiesesn bekommen?

Ja - am besten in Einer MySQL-Tabelle für jeden Auftrag einen Eintrag eintragen.
Die nächste Nummer lässt sich z.B. feststellen, indem du die Aufträge sortiert nach Auftragsnummer rückwärts ausgeben lässt und dann den ersten nimmst und 1 dazu addierst.
Zwischen dem Auslesen der Nummer und dem speichern der neuen Nummer ließe sich z.B. eine Datei mit PHP für Schreibzugriffe sperren - wenn die gesperrt ist wartet das Programm bis sie wieder öffenbar ist bevor es weitermacht. Du musst ja nichts wirklich in die Datei schreiben sondern kannst sie einfach nutzen, damit PHP das Problem wie oben beschrieben für dich löst.

Es gibt allerdings auch andere Möglichkeiten!

Grüße aus Nürnberg,
Tobias Unger