Shop Hosting
Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Kundennummer-Vergabe im Shop hängt bei 1000

    GOOD-TASTE

    • Fördermitglied
    • Beiträge: 10
    Kundennummer-Vergabe im Shop hängt bei 1000
    am: 23. Oktober 2015, 12:24:16
    Hallo an alle...

    Eventuell kann mir jemand helfen? Ich habe schon alles probiert und komme nicht weiter.

    Ich betreibe die Shop Version:
    modified eCommerce Shopssoftware v1.06 rev 4642 dated: 2013-04-20
    Datenbank Version: "MOD_1.0.6.0"

    Folgendes Problem.
    Wenn sich ein neuer Kunde registriert wird ja u.a. auch eine Kundennummer vegeben.
    Diese ist momentan auf Version1 eingestellt. Also immer eine Nummer mehr.
    Bis Kundennummer 1000 ging das auch problemlos.
    Jetzt wird allerdings bei einem neuem Kunden immer die 1000 vergeben und nicht mehr weiter gezählt.
    Ich habe in der Datei create_account.php den Startwert mal auf 1010 gestetzt.. Jetzt wird immer die 1010 vergeben, obwohl in der Datei create_account.php steht dass er immer eine Nummer mehr zählen soll.

    Hier der Auszug aus der Datei create_account.php:

          //Automatisch Kundennummer fortlaufend erzeugen
          /// Erste Kundennummer festlegen
          $start_cid = 1009;
          /// Letzte Kundennummer auslesen
          $cid_query = xtc_db_query("SELECT MAX(customers_cid) AS maxnr FROM             ".TABLE_CUSTOMERS);
          $cid = xtc_db_fetch_array($cid_query);
          /// Neue Kundennummer generieren
          If ($cid['maxnr'] >= $start_cid) {
          $start_cid = $cid['maxnr']+1;
          }
          $sql_data_array['customers_cid'] = $start_cid;
          //Automatisch Kundennummer fortlaufend erzeugen

       xtc_db_perform(TABLE_CUSTOMERS, $sql_data_array);

    Wenn jemand etwas weiß - bitte ich um Hilfe..

    Vielen Lieben Dank.

    Mein Shop ist: www.e-liquids-gt.de
    PHP Version 5.6

    Linkback: https://www.modified-shop.org/forum/index.php?topic=33819.0

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #1 am: 23. Oktober 2015, 12:50:07
    Hmm... Wenn du "nur" hoch zählst kannst, du doch auch die "customers_id" eintragen, warum machst du das so umständlich?
    Bzw. ist die "customers_cid" dann eigentlich nicht notwendig da sie immer gleich der "customers_id" wäre.

    Gruß

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #2 am: 23. Oktober 2015, 12:51:08
    Ich hatte mal ein ähnliches (wenn nicht sogar das gleich oO) Problem. Bei mir lag es daran, dass die entsprechende Nummer in der Datenbank als TEXT hinterlegt war. Ein Typecast auf int VOR der Prüfung (>= $start_cid) hat das Problem behoben.

    @web0null:
    Die ist nicht zwangsläufig gleich, was ist bspw bei Gastkonten etc.

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #3 am: 23. Oktober 2015, 13:01:41
    Zitat
    Die ist nicht zwangsläufig gleich, was ist bspw bei Gastkonten etc.
    Dann würden "nur" Lücken entstehen, die hätte man aber auch wenn man Kunden löscht.
    Oder was meinst du?

    Gruß

    GOOD-TASTE

    • Fördermitglied
    • Beiträge: 10
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #4 am: 23. Oktober 2015, 13:05:35
    Danke für die Antworten.
    Leider kenne ich mich nicht gut aus mit der Programmierung.
    Es hat bis Nr. 1000 problemlos funktioniert. Aber dann gab es nur noch "1000"
    customer_cid und customer_id ist natürlich nicht gleich. Lücken entstehen auch beim löschen von Kunden. Das ist aber alles völlig egal. Es soll nur eine fortlaufende Kundennummer vergeben werden wenn sich ein Kunde anmeldet. Warum es genau bis Nr. 1000 problemlos funktioniert hat und jetzt ab Nr. 1000 nicht mehr ist mir ein Rätsel...

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #5 am: 23. Oktober 2015, 13:10:55
    Suche,
    Code: PHP  [Auswählen]
    If ($cid['maxnr'] >= $start_cid) {
    $start_cid = $cid['maxnr']+1;
    }
     

    Ersetze,
    Code: PHP  [Auswählen]
    if (($maxnr = (int)$cid['maxnr']) >= $start_cid) {
      $start_cid = $maxnr ++;
    }
     

    ... und setze
    $start_cid = 1009;
    wieder auf
    $start_cid = 1;

    Von wo hast du den Code?

    GOOD-TASTE

    • Fördermitglied
    • Beiträge: 10
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #6 am: 23. Oktober 2015, 13:23:53
    Hab die Änderungen durchgeführt.
    Wert wieder auf "1" gesetzt.. Jetzt wird immer Kundennummer 999 verwendet.
    Wenn ich auf 1010 stehhe immer die 1010... geht also leider nicht.

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #7 am: 23. Oktober 2015, 13:25:27
    Was ist die höchste "customers_cid" in der db?

    NACHTRAG: Mein Fehler...

    mach aus
    Code: PHP  [Auswählen]
    $start_cid = $maxnr ++;
     

    dieses
    Code: PHP  [Auswählen]
    $start_cid = ++ $maxnr;
     

    Also gesamt so,
    Code: PHP  [Auswählen]
    if (($maxnr = (int)$cid['maxnr']) >= $start_cid) {
      $start_cid = ++ $maxnr;
    }
     

    GOOD-TASTE

    • Fördermitglied
    • Beiträge: 10
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #8 am: 23. Oktober 2015, 13:40:02
    Die höchste Nummer in der Datenbank ist jetzt 1008 da ich von Hand die 7x 1000 der geändert habe...
    Ist aber völlig egal.. wenn die Nummer bei 1020 jetzt weiter geht ist auch gut...

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #9 am: 23. Oktober 2015, 13:53:10
    Hast du dir Korrektur in meinem letzten Beitrag gesehen?

    GOOD-TASTE

    • Fördermitglied
    • Beiträge: 10
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #10 am: 23. Oktober 2015, 13:57:10
    Ja hab geändert auf:

    if (($maxnr = (int)$cid['maxnr']) >= $start_cid) {
      $start_cid = ++ $maxnr;
    }

    geht aber nicht --- jetzt ist er wieder bei 1000 und bleibt bei 1000 - geht nicht höher..

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #11 am: 23. Oktober 2015, 14:00:40
    Ich glaube der Fehler ist hier:
    Code: PHP  [Auswählen]
    SELECT MAX(customers_cid) AS maxnr FROM ".TABLE_CUSTOMERS);
    als MAX wird bei dem Textfeld die 999 verwendet, weil 999 > 1000, wenn es textuell betrachtet wird. Ändere mal die Spalte in der Datenbank auf "INT" statt "TEXT"

    web0null

    • Experte
    • Beiträge: 1.998
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #12 am: 23. Oktober 2015, 14:08:31
    Wollte ich auch gerade schreiben, denn das Feld hat Original den Typ "varchar(32)".

    Fakrae

    • Viel Schreiber
    • Beiträge: 997
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #13 am: 23. Oktober 2015, 14:11:16
    Achja, warum das bisher funktioniert hat: Bis 999 hat er immer brav 3-Stellige Zahlen verglichen und du hast es vermutlich erst nach "100" eingeführt. Jetzt bei dem 1000er Übergang knallt es eben

    GOOD-TASTE

    • Fördermitglied
    • Beiträge: 10
    Re: Kundennummer-Vergabe im Shop hängt bei 1000
    Antwort #14 am: 23. Oktober 2015, 14:13:45
    Also in der Datenbank rum zu fummeln trau ich mir nicht.
    Ich kenne mich zu wenig aus damit und weiß gar nicht wie ich das machen sollte.

    Wenn ich jemanden finde der das machen kann.. würde es dann auch mit der ursprünglichen Programmierung gehen? Oder die letzte Version:

          //Automatisch Kundennummer fortlaufend erzeugen
          /// Erste Kundennummer festlegen
          $start_cid = 1;
          /// Letzte Kundennummer auslesen
          $cid_query = xtc_db_query("SELECT MAX(customers_cid) AS maxnr FROM ".TABLE_CUSTOMERS);
          $cid = xtc_db_fetch_array($cid_query);
          /// Neue Kundennummer generieren
    if (($maxnr = (int)$cid['maxnr']) >= $start_cid) {
      $start_cid = ++ $maxnr;
    }
    3 Antworten
    3038 Aufrufe
    11. Dezember 2013, 22:44:15 von alphoss
    3 Antworten
    2386 Aufrufe
    01. Februar 2018, 18:21:27 von Timm
    1 Antworten
    2065 Aufrufe
    13. März 2016, 11:59:17 von pawie
    1 Antworten
    1720 Aufrufe
    14. Dezember 2012, 15:12:45 von biotob
               
    anything