Timo: Falsche Position in DB

Beitrag lesen

Hallo zusammen ich habe folgendes Problem.

Auf meinem Screen werden daten aus der Datenbank ausgegeben.
BSP
Test1     Löschen
Test2     Löschen
Test2     Löschen

Diese Einträge werden in meiner DB volgendermaßen abgelegt

ID  PosIDs  content_d
60    1       Test1
62    2       Test2
63    3       Test3

PosIDs gibt in dem Fall die jeweilige Position an an der mein Eintrag steht. Lösche ich nun über meinen Screen den Eintrag Test2, müssen meine PosIDs neu vergeben werden:

ID  PosIDs  content_d
60    1       Test1
63    2       Test3

Leider sieht es bei mir folgendermaßen aus:

ID  PosIDs  content_d
60    0       Test1
63    2       Test3

Hier mal mein Code vill könnt ihr mir ja weiterhelfen.

// Speichert einen neuen Eintrag in der Datenabank ab - DYNAMIC
$action_d = $_POST["action-d"];
if ($action_d == "save") {
 $content_D = $_POST['projektname'];

$sql = "SELECT * FROM dynamic ORDER BY PosIDs DESC LIMIT 0,1";
 $highestEntry = mysql_fetch_array( mysql_query($sql) );
 $highestPosID = $highestEntry['PosIDs']+1;

mysql_query("insert into $table_D (ProID, content_D, PosIDs) VALUES ('$project_id', '$content_D', '$highestPosID')") or die(mysql_error());
}

//Aufruf zum löschen der Datensätze für DYNAMIC
if(isset($_GET['action']) && $_GET['action'] == 'delete' && isset($_GET['id']) && is_numeric($_GET['id'])) {
 $sql = "SELECT * FROM dynamic WHERE id = '".intval($_GET['id'])."'";
 $oldentry = mysql_fetch_array( mysql_query($sql) );
 $oldPosID = $oldentry1['PosIDs'];

$sql = "DELETE FROM dynamic WHERE id = ".intval($_GET['id'])." LIMIT 1";
 if(mysql_query($sql) OR die(mysql_error())) {

}
 $updatePos = @mysql_query("UPDATE dynamic SET PosIDs = PosIDs - 1 WHERE PosIDs > '".$oldPosID."'")or die(mysql_error());

}

Ich danke euch im Vorraus.
Timo