Jump to content
xt:Commerce Community Forum

Kunden- und Bestellnummer


IT-B@SICS

Recommended Posts

  • 7 months later...
  • 1 month later...

Hallo

Ich wäre schon froh, wenn bei mir überhaupt eine Nr. generiert würde.

Die Kundennummer bleibt bei mir immer leer. Das auch dann, wenn ich im Admin von Hande eine Nummer (nur Zahlen) eingebe und anschliessend speicher.

Das Feld Kundennummer ist und bleibt leer.

Was ist hier falsch.

Link to comment
Share on other sites

  • 1 month later...

Kannst im phpMyAdmin (SQL-Editor) den folgenden Befehl eingeben.

1000 = Bestellnummer, kannst nach belieben angeben.

Aber ACHTUNG: Vorher Datenbank sichern.

Gruß ducky

OK, funktioniert wunderbar, doch was, wenn ich bemerke, dass meine Bestellnummer anders aufgebaut sein muss: Nicht mehr 1000, sondern z.B. 01079256? Wo kann ich die "grundlegende" Bestellnummer ändern, sodass ab dieser Zahl weitergezählt wird? Wenn ich z.B. den SQL Befehl erneut mit einer anderen Nummer ausführe, bringt das nichts. Muss ich erst irgend eine Tabelle löschen und anschl. neu anlegen?

Danke für den Hinweis.

Link to comment
Share on other sites

ohne weitere änderungen am code vor zu nehmen ist eine bestellnummer wie die von dir gewünschte nicht möglich, da auto_increment werte ganzzahlen sind und eine ganzzahl nunmal nie mit einer null begint.

im übrigen müsste ein erneutes "ALTER TABLE orders AUTO_INCREMENT=xxx" jederzeit möglich sein, solange der wert über dem maximal wert der letzten bestellnumer liegt! wenn du also eine bestellung hast die bereits die nummer 832 aufweist, und das die letzte bestellung ist, kann dein wert für den sql befehl minimal 833 sein.

Link to comment
Share on other sites

Hi lebensform (welche Lebensform bist Du? ;) )

Danke für den Tipp. Ich hatte bereits zwar versucht, den SQL Befehl erneut zu setzen, habe aber vorher nicht nachgedacht, dass die Zahl nicht kleiner sein darf und auch nicht mit null beginnen darf! Danke

Ist es denn auch möglich -wenn wir schon beim Thema sind- eine Bestellnummer zu generieren, die z.B. so aufgebaut ist:

[beliebige Zeichen][Monat][Jahr][fortlaufende Zahl]

Meine Kundennummer habe ich so aufgebaut.

Danke

Link to comment
Share on other sites

  • 3 weeks later...

Eine gemischte Bestellnummer (Zahlen und Buchstaben/Zeichen) ist über die Datenbank nicht möglich, da hier das ID-Feld benutzt wird und dieses, wie lebensform schon schreibt, nut Ganzzahlen enthalten kann (wobei führende Nullen nicht das Problem wären). Ich habe das so gelöst, dass ich die Bestellnummer bei der Ausgabe formatiere:

sprintf("%s-%d-%05d", STORE_ABBR, substr($order->info['date_purchased'], 0, 4), $insert_id)

Das ist dann an mehreren Stellen zu machen, eben überall dort, wo die Bestellnummer auftaucht, mal eben danach gesucht in account_history_info.php, account_history.php, account.php, print_order.php, send_order.php (2x), admin/orders.php. Dabei muss man schauen, in welcher Variablen sich die Order-ID befindet, das ist nämlich nicht immer $insert_id und in account_history.php und account.php ist es $history['date_purchased'] anstatt $order->info['date_purchased']

Das Ergebnis von obiger Aktion wäre:

ABC-2007-00023
STORE_ABBR habe ich für unseren Shop mit in die Konfiguration eingetragen, dadurch kann es im Admin-Tool angepasst werden. Man kann es natürlich auch fest in die Dateien hämmern. Um das von back@me gewünschte Ergebnis ([beliebige Zeichen][Monat][Jahr][fortlaufende Zahl]) zu erzielen, braucht es dann folgenden Aufbau:
sprintf("%s%02d%d%d", STORE_ABBR, substr($order->info['date_purchased'], 5, 2), substr($order->info['date_purchased'], 0, 4), $insert_id)
ABC01200723
Der Übersichtlichkeit halber sollte man vielleicht noch Trennzeichen und führende Nullen für die Bestellnummer einfügen:
sprintf("%s-%s-%d-%05d", STORE_ABBR, substr($order->info['date_purchased'], 5, 2), substr($order->info['date_purchased'], 0, 4), $insert_id)
ABC-01-2007-00023

Matt

Link to comment
Share on other sites

  • 1 year later...

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...