sourceCode
Grünschnabel
Hallo zusammen,
ich verzweifele jetzt schon seit einiger Zeit an meiner Sortierfunktion mit PHP und MySQL, das auslesen ist natürich garkein Problem:
aber das verändern einer Eintrags macht mir Probleme.
http://img225.imageshack.us/img225/8153/zomgsc5.png
Ich möchte jetzt wenn man z.B. seite.php?mode=up&id=1 aufruft die Zeile mit der ID 1 bei sort die Zahl 2 bekommt und die Zeile in der vorher 2 Stand zu 1 wird.
Ich habe es versucht:
Aber das funktioniert nicht.
Grüße, sourceCode
ich verzweifele jetzt schon seit einiger Zeit an meiner Sortierfunktion mit PHP und MySQL, das auslesen ist natürich garkein Problem:
PHP:
$sql = "SELECT * FROM link ORDER BY sort ASC;";
http://img225.imageshack.us/img225/8153/zomgsc5.png
Ich möchte jetzt wenn man z.B. seite.php?mode=up&id=1 aufruft die Zeile mit der ID 1 bei sort die Zahl 2 bekommt und die Zeile in der vorher 2 Stand zu 1 wird.
Ich habe es versucht:
PHP:
$id = $getid;
$do = 'plus';
$sql = "SELECT * FROM `link` WHERE `id` = '$id' LIMIT 1;"; // DB Abfrage
mysql_query($sql) OR die(mysql_error());
$sort = $row->sort;
if($do == "plus") {
$newsort = $sort+1;
}
elseif($do == "minus") {
$newsort = $sort-1;
}
$sql = "SELECT * FROM `link` WHERE `sort` = '$newsort' LIMIT 1;"; // DB Abfrage (des elements, das die neue sortierung hat und damit geänder werden muss)
mysql_query($sql) OR die(mysql_error());
$oldid = $row->id;
$sql = "UPDATE `link` SET `sort` = '$sort' WHERE `id` = '$oldid' LIMIT 1;"; // altes Element die alte Sortierung geben
mysql_query($sql) OR die(mysql_error());
$sql = "UPDATE `link` SET `sort` = '$newsort' WHERE `id` = '$id' LIMIT 1;"; // neues Element die neue Sortierung geben
mysql_query($sql) OR die(mysql_error());
Aber das funktioniert nicht.
Grüße, sourceCode