phpbar.de logo

Mailinglisten-Archive

[php] [OT] Nummernvergabe

[php] [OT] Nummernvergabe

Ralf Eggert ralf at in-greece.de
Fre Jan 28 13:15:31 CET 2005


Hallo Liste,

das Thema ist eigentlich kein PHP Problem, aber da ich das Projekt in
PHP entwickele, passt es im grossen und ganzen hier rein.

Für ein neues Projekt suche ich nach einer geschickten Nummernvergabe
für registrierte Benutzer. Ich möchte, dass jeder Benutzer durch eine
eindeutige, fünfstellige Nummer (kann auch mit führenden Nullen) sein,
identifiziert wird. Diese Nummer soll natürlich niemals doppelt vergeben
werden.

Mir kommen nun drei Lösungsansätze in den Sinn:

1. Ich fülle eine einfache MySQL Tabelle mit allen möglichen Nummern.
   Das wären dann 99.999 Einträge in dieser Tabelle. Immer wenn ich
   eine neue Nummer brauche, lese ich per Zufall einen Datensatz aus
   dieser Tabelle aus. Damit die Nummer nicht doppelt vergeben wird,
   lösche ich diesen Satz dann aus der Tabelle.

2. Ich lese alle bereits vergebenen Nummern in ein Array. Dann erstelle
   ich per Zufall eine neue Nummer und prüfe, ob diese in dem Array
   bereits vorhanden ist. Falls ja, erstelle ich eine weitere Nummer,
   solange bis ich eine freie Nummer gefunden habe.

3. Ich erstelle eine neue Nummer per Zufall und prüfe mit einem Select,
   ob diese Nummer bereits vorhanden ist. Falls ja, erstelle ich eine
   neue Nummer und führe einen weiteren Select durch, solange bis eine
   eine freie Nummer gefunden habe.

Welchen Ansatz würdet Ihr favorisieren?

Viele Grüsse,

Ralf


php::bar PHP Wiki   -   Listenarchive