|
|||
|
Hallo,
ich verwende den Shop 3.04 mit SP 2.1 Nun ist es ja so, wenn sich neue Kunden regestrieren, das da dann die Kunden automatisch ne Kundennummer bekommen. Diese aber mit 1,2,3 und so weiter hochgezählt werden. Gibt es eine Möglichkeit das man angeben kann mit welcher kundennummer begonnen werden kann? ich hätte gern den Start mit 10000 und dann forlaufend. Da bei mir erst 3 Kunden sich regestriert haben, lauten da die Kundennummern 1, 2 und 3. Habe auch versucht im Admin unter Kunden dann die Kundennummer zu ändern, dies aber nicht geht. Ich hoffe das mir jemand helfen kann. Gruß Jens |
|
|||
|
Hallo,
bin grad selber vorm dem Problem gestanden und hab ein paar Zeilen zur automatischen Kundennummergenerierung verfasst, welche ich dir nicht vorenthalten möchte: In der Datei create_account.php einfach folgende Zeile suchen: $sql_data_array = array ('customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_ad ded' => 'now()','customers_last_modified' => 'now()'); und das ganze mit diesen Zeilen ersetzen: //Kunden Nummer generieren $cid_query = xtc_db_query("select customers_cid from ".TABLE_CUSTOMERS." ORDER BY customers_cid DESC LIMIT 1"); //höchste Kundennummer auslesen $cid = xtc_db_fetch_array($cid_query); $customer_cid = $cid['customers_cid'] + 1; //hier wird hochgezählt, also höchste plus 1 //ENDE $sql_data_array = array ('customers_cid' => $customer_cid, 'customers_vat_id' => $vat, 'customers_vat_id_status' => $customers_vat_id_status, 'customers_status' => $customers_status, 'customers_firstname' => $firstname, 'customers_lastname' => $lastname, 'customers_email_address' => $email_address, 'customers_telephone' => $telephone, 'customers_fax' => $fax, 'customers_newsletter' => $newsletter, 'customers_password' => xtc_encrypt_password($password),'customers_date_ad ded' => 'now()','customers_last_modified' => 'now()'); Musst aber darauf achten, dass mindestens ein Kunde bereits eine Kundennummer in der Datenbank hat und diese sollte auch sicherheitshalber nur aus Zahlen bestehen, zB 20015. Hab nämlich keine Fehlerüberprüfung oder ähnliches eingebaut. Vielleicht hilft's dir
|
|
|||
|
Hallo,
danke für die Antwort. Ich habe bis jetzt 3 Kunden die sich schon angemeldet haben. kann ich da nun ohne weiteres den Code so einfügen wie du Ihn hier geschrieben hast? Die drei bestehenden Kunden haben die Kundennummer von 1 bis 3 wie ich im Admin unter kunden sehen kann. Gruß Jens |
|
|||
|
Sollte funktionieren, würde dann bei der nächsten Kundenanmeldung eben die Zahl 4 vergeben werden. Jedoch wie bei Software (verwendete Version ist 3.0.4 SP1) so üblich, alles ohne Gewähr.
Bitte vorher Backup von der Datei erstellen. |
|
|||
|
Hi,
habe das gerade mal probiert. Bekomme leider folgende Fehlermeldung: habe einen kunde mit der kundennummer 80000 angelegt und wollte nun die "neue" generieren lassen... --------------- 1064 - Fehler in der Syntax bei 'ded, customers_last_modified, customers_gender) values ('80001',' in Zeile 1. insert into customers (customers_cid, customers_vat_id, customers_vat_id_status, customers_status, customers_firstname, customers_lastname, customers_email_address, customers_telephone, customers_fax, customers_newsletter, customers_password, customers_date_ad ded, customers_last_modified, customers_gender) values ('80001', '', '', '2', 'rtreter', 'rtre', 'test@test.de', '667454', '', '0', '5fb69aa4e71b65090523754ae5f0d02e', now(), now(), 'm') [XT SQL Error] --------------- |
|
|||
|
Hi...
Wie ist es... wenn ich als Admin einen neuen Kunden anlege, muß ich dann selber schauen, welche KundenNr. noch frei ist oder bekomme ich da auch eine Nr. zu gewiesen? Wenn ich es selber eine vergeben muß, wird es sich dann nicht irgend wann überschneiden? .. Nehmen wir an, ich habe 3 Kunden mit KundenNr., im Amdin lege ich einen neuen an und gebe ihm die KundenNr. 4.... was bekommt der nächste Kunde als KundenNR., sobald sich ein neuer anmeldet... die 5 oder nochmal die 4? Vielen Dank für Eure Hilfe! ------------- Hat sich erledigt! Alles gefunden! Geändert von zro (20.08.2007 um 22:15 Uhr) |
|
|||
|
Du könntest ein Problem bekommen, wenn es in deinem Shop Gast Accounts gibt, die gelöscht werden können (Option Löschen von Gast-Accounts). Wird diese Löschung auch in der DB vorgenommen (hab ich nicht überprüft), dann können falsche Werte bei deiner Abfrage nach der höchste Kundennummer entstehen. Nutze doch einfach die Technik wie sie für die nächsten SQL-Befehle verwendet werden (adressbook).
in der create_account.php und create_guest_account.php nach $_SESSION['customer_id'] = xtc_db_insert_id(); einfügen PHP-Code:
Geändert von kchris (21.08.2007 um 12:20 Uhr) |
|
|||
|
danke Matlock, diese änderung ist mir klar und habe ich hinbekommen.
die anpassung von kchris ist mir nicht ganz klar, kann mir das vor meinem geistige auge nicht vorstellen vielleicht kann mir das noch wer verdeutlichen was genau seine methode bewirktdanke auf jeden fall |
![]() |
| Lesezeichen |
| Stichworte |
| automatische, kundennummernvergabe |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Automatische Kundennummernvergabe | Purecut | Shopbereich | 51 | 05.10.2009 21:42 |