Fehler beim adden/löschen einer Zeile in einer Tabelle

  • Themenstarter Themenstarter skynic
  • Beginndatum Beginndatum
S

skynic

Hallo,

ich habe ein Problem und zwar wenn ich eine Zeile aus meiner Tabelle lösche und eine neue hinzufüge, setzt sich die ID an die gelöschte stelle, als Beispiel:

22 23 24 25 26 27 | gelöscht wird 25 | geadded wird 28
22 23 24 28 26 27 | will 29 adden
= geht nich da er auf die letzte ID zugreift (letzte ID +1) und versucht die ID 28 zu adden

die ID wird generiert durch dieses script:
PHP:
//ID generieren
	   $db = mysql_connect($db_server, $db_user, $db_pass);
       $res = mysql_db_query("$db_name",
          "select * from book");
   $numi = mysql_num_rows($res);
   $numi--;
   $id_vor = mysql_result($res, $numi, "id");
   $id=$id_vor+1;
   mysql_close($db);

Wie könnte man das ändern, dass er immer die höchste ID nimmt oder alle ID's einfach immer ans Ende der mysql Datenbank added?

Gruß Nic
 
Mit der SQL-Funktion MAX() kannst du z.B. die höchste ID ermitteln...Meinst du das?

PHP:
SELECT MAX(id) FROM table;
 
Ansonsten könntest Du anstatt Deine ID's zu löschen, ihnen einen Status zuweisen. Soll heißen, ein Status-Feld in Deine Tabelle einfügen wo der Status grundsätzlich "N" ist. Wenn Du eine ID löschst soll der Status z.B. "L" werden. Wenn Du eine neue ID eingibst generiert er Dir automatisch die neueste ID da keine ID fehlt.

Gruss,

Bugs
 
Habs hinbekommen, es läuft, danke für die schnellen Antworten
 
Zuletzt bearbeitet von einem Moderator:
Zurück