Hi,
ich habe eine DB in welcher der Platz des Datensatzes selbst bestimmt werden kann. Wenn nun ein neuer Datensatz angelegt wird oder ein Datensatz bearbeitet wird und der Platz geändert wird, ist es wahrscheinlich, dass dieser Platz in der DB schon belegt ist und dann müssen alle anderen angepasst werden.
Bsp.
DB
Platz
1
2
3
4
5
6
7
8
Nun will einer einen neue hinzufügen und gibt als Platz 4 an.
dann sähe es ja so aus:
DB
Platz
1
2
3
4
4
5
6
7
8
Allerdings soll es so aussehen:
1
2
3
4 der neue EIntrag
5 Der Eintrag der vorher 4 war
6 Der Eintrag der vorher 5 war
7 Der Eintrag der vorher 6 war
...
Das er den DB der identsich ist ändert habe ich schon hinbekommen:
PHP-Code:
$result = mysql_query("SELECT id_art FROM tisch WHERE platz = '$platz_neu'");
while($row=mysql_fetch_array($result))
{
if (isset($row[id_art])){
$id_platz_check = $row[id_art];
}
$id_platz_check_neu = $platz_neu +1;
mysql_query("UPDATE tisch SET platz = '$id_platz_check_neu'
WHERE
id_art = '$id_platz_check'")
or die(mysql_error());
}
Nun ändert er aber nur den Platz der identsich mit dem neuen war - also sähe es so aus:
1
2
3
4 Neuer Eintrag
5 Alter Eintrag der vorher 4 war
5
6
7
8
Ich möchte das mit einer while Scheife machen und komme einfach nicht weiter. Überlege schon seit stunden wie ich den ansatz machen könnte. Kann mir von euch vielleicht jemand helfen? Muss ich meinen ersten Teil ausführen und DANN eine Schleife einbauen oder kann ich das lösen NUR mit einer Schleife?