kostenloser Webspace werbefrei: lima-city


Spezielle Nummerierung von Datensätzen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fuerderer

    fuerderer hat kostenlosen Webspace.

    Mir fehlt gerader der Ansatz.

    Ich möchte meinen Benutzern ermöglichen, dass sie Daten speichern können. Die einzelnen Datensätze sollen dabei automatisch nummeriert werden.
    Bsp. Wenn man 10 Datensätze einfügt, bekommen diese die Nummern 1-10.
    soweit wäre das noch in mysql mit auto_increment möglich, aber jetzt kommt das Problem:

    Wenn man z.B. die Datensätze 5 und 8 löscht, und danach weitere einfügt, sollen diese die Nummern 5, 8, 11, 12, 13, ... erhalten.

    Heißt also: Immer die erste Nummer, die gerade frei ist.

    Wie realisiert man das am einfachsten/ schnellsten?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. fuerderer schrieb:
    Mir fehlt gerader der Ansatz.

    Ich möchte meinen Benutzern ermöglichen, dass sie Daten speichern können. Die einzelnen Datensätze sollen dabei automatisch nummeriert werden.
    Bsp. Wenn man 10 Datensätze einfügt, bekommen diese die Nummern 1-10.
    soweit wäre das noch in mysql mit auto_increment möglich, aber jetzt kommt das Problem:

    Wenn man z.B. die Datensätze 5 und 8 löscht, und danach weitere einfügt, sollen diese die Nummern 5, 8, 11, 12, 13, ... erhalten.

    Heißt also: Immer die erste Nummer, die gerade frei ist.

    Wie realisiert man das am einfachsten/ schnellsten?
    dass es nicht gehen kann, liegt schon in der bedeutung des wortes 'auto' (kein audi o. so ;). es heißt 'selber/selbst'. das heißt wiederum, dass die ganze geschichte höchstselbst von mysql erledigt wird, und niemand anderer darf da reinpfuschen.

    ein erzwingen ist zwar möglich, das wirft aber andere/weitere probleme auf, die du offensichtlich nicht erahnen kannst. tust das trotzdem, dann kannst du aber deine datenbank - wahrscheinlich - der latrine opfern.

    lektüre: http://dev.mysql.com/doc/refman/5.5/en/example-auto-increment.html
  4. christian1603

    Kostenloser Webspace von christian1603

    christian1603 hat kostenlosen Webspace.

    Moin,
    Du könntest die Datenbank einträge nicht wirklich löschen.sondern nur leeren.
    Dann beim anlegen neuer einträge erst prüfen ob welche frei sind wenn ja diese dann überschreiben.


    lg
    christian
  5. Autor dieses Themas

    fuerderer

    fuerderer hat kostenlosen Webspace.

    christian1603 schrieb:
    Moin,
    Du könntest die Datenbank einträge nicht wirklich löschen.sondern nur leeren.
    Dann beim anlegen neuer einträge erst prüfen ob welche frei sind wenn ja diese dann überschreiben.


    lg
    christian
    gute Idee, ich werde versuchen, es so zu machen. Danke!

    lg fuerderer
  6. Je nachdem, was du vor hast, kann man das auch einfacher lösen. Wenn diese Nummerierung beispielsweise ausgegeben werden soll, kann man an Stelle der ID auch einen eigenen Zähler verwenden, der dann bei jedem Durchlauf um 1 inkrementiert wird.
  7. Autor dieses Themas

    fuerderer

    fuerderer hat kostenlosen Webspace.

    fabo schrieb:
    Je nachdem, was du vor hast, kann man das auch einfacher lösen. Wenn diese Nummerierung beispielsweise ausgegeben werden soll, kann man an Stelle der ID auch einen eigenen Zähler verwenden, der dann bei jedem Durchlauf um 1 inkrementiert wird.
    Ja, die Nummerierung wird ausgegeben. Aber wie finde ich die erste freie Nummer? Gibt es dazu einen mysql-Befehl?
  8. $result = mysql_query("SELECT MIN(ID) FROM User WHERE etwas=''");

    spuckt dir die erste freie Nummer aus.
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!