phpbar.de logo

Mailinglisten-Archive

[php] =?ISO-8859-1?Q?L=FCcken?= in einem Wertebereich finden

[php] Lücken in einem Wertebereich finden

I.Garbe php_(at)_phpcenter.de
Fri, 13 Sep 2002 11:28:57 +0200


Hallo,

die Frage wurde zwar in ähnlicher Form schon behandelt, aber hat für 
mich keine verwendbare Lösung gebracht, deswegen ein neuer Versuch:

Ich möchte eine Benutzerdatenbank verwalten, in der neben den 
Benutzerdaten auch eine IP-Adresse gespeichert wird. Es kann allerdings 
durchaus sein, dass eine IP gelöscht und für einen anderen Benutzer neu 
vergeben werden soll. Wenn ich eine Reihe von IPs habe, entstehen also 
Lücken, die neu vergeben werden sollen. Da ich mit einem Klasse-C 
Netzwerk arbeite, habe ich nur 254 IPs zur Verfügung, die ziemlich 
rationell vergeben werden sollen.

Meine Frage: Wie komme ich an die nächstbeste Lücke, wenn ich einen neue 
IP vegeben will? Und welches ist die schnellste Möglichkeit?
SELECT MAX(ip) ... fällt schon mal raus, da die Lücken nicht 
berücksichtigt werden.
Ich könnte natürlich alle IPs erst mal in ein Array laden und dann die 
IPs durchlaufen lassen und überprüfen, ob die gerade aktuelle IP schon 
im Array vorkommt, also vergeben ist. Aber ist das die schnellste und 
einfachste Möglichkeit?

Auch wenn ich keine IPs habe, sondern einfache Ganzzahlen, die aber 
beschränkt sind auf eine vorher festgelegte Anzahl, wie finde ich da die 
Lücken? Die Routine auf IPs umzuschreiben dürfte kein Problem sein, aber 
ein Lösungsansatz wäre ganz praktisch.

Hat jemand eine Idee?

Gruss,
Ithamar Garbe


php::bar PHP Wiki   -   Listenarchive