Hallo zusammen,
ich hab einen Knoten im Kopf ich komme einfach nicht dahinter.
Ich habe viele viele Datensätze und jeder dieser Datensätze hat eine Position. Nun möchte ich per Eingabe der ID und der gewünschten Position die Position der Datensätze aktualisieren.
Mein Script sieht wie folgt aus:
So, wenn ich den Datensatz X mit Position 5 auf Position 1 haben möchte, muss ich doch alle nachfolgenden und die gleiche Positionen um 1 erhöhen. Leider wird der Datensatz der bereits auf 1 ist nicht verändert obwohl ich >= befehle. Oh mann, mit platzt gerade das Hirn, kann mir jemand weiterhelfen?
Vielen Dank
Stefano
ich hab einen Knoten im Kopf ich komme einfach nicht dahinter.
Ich habe viele viele Datensätze und jeder dieser Datensätze hat eine Position. Nun möchte ich per Eingabe der ID und der gewünschten Position die Position der Datensätze aktualisieren.
Mein Script sieht wie folgt aus:
PHP-Code:
function tausche_datensatz($id, $pos)
{
$sql = 'SELECT id, position
FROM AKTUELLES
WHERE position >= '.$pos;
if (!$res = mysql_query($sql))
{
return $ret;
}
while ($zeile = mysql_fetch_array($res, MYSQL_ASSOC))
{
$sql = 'UPDATE AKTUELLES
SET position = position + 1
WHERE id='.$zeile['id'];
if (!mysql_query($sql))
{
return false;
}
}
$sql = 'UPDATE AKTUELLES
SET position = '.$pos.'
WHERE id='.$id;
if (!mysql_query($sql))
{
return false;
}
return true;
}
Vielen Dank
Stefano
Kommentar