Mailinglisten-Archive |
Joern Grube schrieb: > Ich generiere eine neue Kundennummer (unique in der Datenbank) aus einem > Kürzel, dem Datum und einem fortlaufenden Wert. Dazu hole ich mir die > letzte Kundennummer aus der Datenbank, zerlege die, zähle eins dazu und > setze sie wieder zusammen: > > $kdnrLast = explode("-", $row['all_ident_user']); > $kdnrLast = $kdnrLast[4]; > $kdnrLast = $kdnrLast + 1; > $kdnrDat = date("Y-m-d"); > $kuerzel = "MA"; > $kdnr = $kuerzel."-".$kdnrDat."-".$kdnrLast; > > Dann schreib ich das mit allem anderen (Pw, Id) in die Datenbank. Das > funktioniert bis zehn, danach kommt folgendes: > > Antwort: > Duplicate entry 'MA-2005-07-05-10' for key 2 > Fehlercode: > 1062 > > Das es das Ding mit zehn hinten schon gibt, ist klar, aber er soll doch > eines addieren. Warum macht er das bis zehn und dann nicht mehr? > Die Spalte ist vom Typ > varchar(30) NOT NULL default '' Wie suchst du die höchste Nummer raus? Normalerweise wird eine Liste nämlich alphanumerisch sortiert und dann sieht die in etwa folgendermaßen aus: 1 10 11 2 3 4 5 6 7 8 9 So, und jetzt nimm den letzten eintrag und zähle eins hinzu...... HTH Grüße Andreas -- wdv Medien & Kommunikation GmbH & Co. OHG Mediendatenverarbeitung Andreas Heigl Siemensstrasse 6 61352 Bad Homburg Germany Telefon +49-(0)6172-670-185 Telefax +49-(0)6172-670-181 www.wdv.de
php::bar PHP Wiki - Listenarchive