phpbar.de logo

Mailinglisten-Archive

[php] Bis 10 und dann Fehler

[php] Bis 10 und dann Fehler

Andreas Heigl a.heigl at wdv.de
Die Jul 5 16:23:06 CEST 2005


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