Mailinglisten-Archive |
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