IT-B@SICS Posted February 10, 2006 Report Share Posted February 10, 2006 Hallo, ist es m?glich, folgendes zu erreichen? Die Kunden sollten ab der Kd.-Nr. 12500 anfangen und die Auftrags- bzw. Order ID mit 15250. Im Admin kann man das nicht einstellen, also welche Datei(en) muss ich bearbeiten? Link to comment Share on other sites More sharing options...
Drastikum Posted October 7, 2006 Report Share Posted October 7, 2006 Hallo, hab darauf auch nirgends eine Antwort gefunden. Kann uns jemand helfen? Link to comment Share on other sites More sharing options...
ducky Posted October 7, 2006 Report Share Posted October 7, 2006 Kannst im phpMyAdmin (SQL-Editor) den folgenden Befehl eingeben. ALTER TABLE orders AUTO_INCREMENT=1000 1000 = Bestellnummer, kannst nach belieben angeben. Aber ACHTUNG: Vorher Datenbank sichern. Gruß ducky Link to comment Share on other sites More sharing options...
Schoelu Posted November 19, 2006 Report Share Posted November 19, 2006 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 More sharing options...
back@me Posted January 8, 2007 Report Share Posted January 8, 2007 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 More sharing options...
lebensform Posted January 8, 2007 Report Share Posted January 8, 2007 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 More sharing options...
back@me Posted January 8, 2007 Report Share Posted January 8, 2007 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 More sharing options...
dfluess Posted January 24, 2007 Report Share Posted January 24, 2007 Hast Du schon Antwort oder eine Lösung. Ich möchte ebenfalls ein prefix vor die Bestellnummer setzen. Danke Link to comment Share on other sites More sharing options...
back@me Posted January 24, 2007 Report Share Posted January 24, 2007 Hi dfluess, nein, habe seit dem leider keine Rückmeldung erhalten. Gibt vielleicht keine Lösung dazu?! Gruß back@me Link to comment Share on other sites More sharing options...
wibros Posted January 24, 2007 Report Share Posted January 24, 2007 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. UNSIGNED ZEROFILL löst auch das Problem. Link to comment Share on other sites More sharing options...
wibros Posted January 24, 2007 Report Share Posted January 24, 2007 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 More sharing options...
Funny Posted February 21, 2008 Report Share Posted February 21, 2008 Muss hier mal ganz blöd Fragen. Wo baut man denn genau den Codeschnipsel ein um zu der gewünschten Ausgabe zu kommen. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.