| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Wie der Name schon sagt, handelt es sich um eine Bestell-/Rechnungs-Nummer, daher ist die Idee mit base64_encode() zwar ganz gut, ich würde allerdings trotzdem darauf verzichten und numerische Werte verwenden. Die Idee das Jahr und die Kunden-ID einzubauen (warum aber die $idUser doppelt reinbraten?) ist auch ganz gut, aber du musst aufpassen: year = 2007, userid = 12, orderid = 3 -> 2007123 year = 2007, userid 1, orderid = 23 -> 2007123 Das ist also auch keine sichere Variante. Entweder du reservierst eine bestimmte Zeichenanzahl für jede Information und füllst den Rest mit Nullen auf, oder aber du verwendest ein Trennzeichen 200700120003, 200700010023 2007-12-3, 2007-1-23 Hierbei kommt jetzt aber nicht nur eine unnötig lange Nummer heraus und bei letzterem Beispiel sogar ein nicht durchgehend numerischer Wert, du schränkst auch die Anzahl möglicher User auf eine vierstellige Zahl ein und die Anzahl der Bestellungen sogar auch (das heißt 9999 User können maximal 9999 Bestellungen aufgeben). Selbst wenn du das ganze 5- oder 6-stellig machst, deine Nummer wächst rasant in die Länge, die Anzahl möglicher User und Bestellungen wird beschränkt*. Vielleicht läuft dein Shop ja jahrelang, da kann man mit der Zeit schnell an abertausende von Bestellungen kommen (hoffentlich sogar). Das ist alles in allem unflexibel. Ohne Eigenlob, finde ich meine Variante die beste im Ergebnis und die einfachste in der Umsetzung. Was will man mehr?! * = natürlich ist die Anzahl immer beschränkt, auch bei fortlaufenden Zahlen ab 1, aber INT oder BIGINT reicht in der Regel. |
| |
| | |
| Erfahrener Benutzer | Man kann ja fixe und dynamische Zeichzahl kombinieren, dass man erst Datum (oder sowas) voransetzt und alles, was danach kommt ist ... irgendwas anderes ^^ Ne laufende Nummer zB. Das kann dann aber beliebige Länge haben. Userid und Rechnungsid kombinieren wird trotzdem schwierig.
__________________ Nicht jeder Fehler ist ein Bug. |
| |
| | |||
| Benutzer Registriert seit: 26.07.2005
Beiträge: 33
![]() | Zitat:
Ansonsten hast Du natürlich Recht. Deine Variante ist am einfachsten und beschränkt die Nummer keines Wegs. Zitat:
year = 2007, userid = 12, orderid = 3 -> 1220073 year = 2007, userid 1, orderid = 23 -> 1200723 Naja. Egal ich werde das wohl einfach lösen. Also die auto-inc Lösung. Bei welche Id habt ihr denn begonnen, um nicht zu klein zu sein aber auch nicht zu groß. Ansonsten danke für die Beiträge! | ||
| |
| | ||
| Benutzer Registriert seit: 26.07.2005
Beiträge: 33
![]() | Zitat:
Ich werde wohl einfach vor die BestellungsID (die durch die auto-inc künstlich erhöht wird) die Jahreszahl als Präfix hängen. | |
| |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Die Idee, die Jahreszahl in die Mitte zu setzen ist auch ganz gut, aber bei näherer Betrachtung wieder fehlerhaft. Was ist denn wenn plötzlich ein Benutzer/Bestellung mit der ID 2006 oder 2007 oder 2008 auftaucht, oder noch schlimmer, 120079. 12007200756. Ja welches ist denn nun die Jahreszahl? Niemals darfst du aufs Raten angewiesen sein. Ist doch letztlich sch* egal wie die Rechnungsnummer aussieht, solang sie aus Zahlen besteht und nicht zu lange ist. Von mir aus auch noch ein paar Kontrollbuchstaben oder wenn du mal ganz ausgeflippt bist, nur Buchstaben. Letztlich ist eine Rechnungsnummer ausschließlich dazu da, eine Rechnung und ihre zugehörigen Bestellungen und den Kunden zu identifizieren. Das geht mit einer fortlaufenden Zahl am Besten. Wir haben einen Wert um 180.000 genommen, aber eine krumme Zahl. 182265. Sowas in der Richtung, ist ja auch bims. Verplemper nur nicht zuviel Zeit für so eine Nichtigkeit =) |
| |
| | |
| Erfahrener Benutzer | Und wenn scho: Da bekommt halt irgendwer ne Rechnungsnummer "1" oder "00001". Irgendwann muss nen Shop ja anfangen, das weiß der Besucher auch. Insofern wird ne Rechnungsnummer "1" auch nicht sooo ungewöhnlich sein Alternativ ganz freakig: Nimm Unix-Timestamp
__________________ Nicht jeder Fehler ist ein Bug. |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP eigene Session ID Generierung | nikosch | PHP-Fortgeschrittene | 18 | 18.07.2006 14:53 |
| Spielplan Generierung | PHP Tipps 2006 | 18 | 21.05.2006 21:59 | |
| Datei generierung aus MYSQL DB | silverghost | PHP Tipps 2006 | 4 | 15.05.2006 10:00 |
| Problem mit Formular und Generierung einer Seite | PHP Tipps 2006 | 12 | 08.02.2006 18:51 | |
| Problem bei der PDF Generierung HTML2PDF von rustyparts.com | joni1980 | PHP-Fortgeschrittene | 2 | 23.09.2005 16:15 |
| Typen-Problem bei Generierung einer Alias-Spalte | winfo_cologne | PHP Tipps 2005-2 | 1 | 12.09.2005 14:26 |
| Dynamische Generierung von Variablen | Datenbanken | 0 | 09.06.2005 15:13 | |
| Generierung eines eindeutigen Schlüsselwertes | ajo_silent | PHP-Fortgeschrittene | 6 | 03.06.2005 22:47 |
| E-Mail generierung nach 3 Tagen | PHP Tipps 2005 | 6 | 21.03.2005 12:35 | |
| [Erledigt] html - Generierung über mehrere Seiten | PHP Tipps 2005 | 1 | 08.02.2005 17:53 | |
| Schlüssel Generierung | Paulo | PHP-Fortgeschrittene | 11 | 01.09.2004 16:46 |
| Explorerstatus abfrage... PDF Generierung | PHP Tipps 2004 | 8 | 21.07.2004 15:48 | |
| [Erledigt] PDF generierung | PHP-Fortgeschrittene | 4 | 08.07.2004 16:41 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| bestellnummer generieren, php bestellnummer generieren, bestellnummern generieren, bestellnummer generieren php, bestellnummer php, powermail fortlaufende nummer, php bestellnummer erzeugen, powermail bestellnummer, php bestellnummer, php nummer generieren, php bestellnummer erstellen, http://www.php.de/php-tipps-2007/44322-generierung-von-bestellnummern.html, bestellnummern erzeugen, php bestellnummern generieren, fortlaufende bestellnummern php, php bestellnummer geenrieren, php fortlaufende nummer datenbank erzeugen, bestellnummern generieren php, generierung bestellnummer, bestellnummer generieren in php |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.