PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeilen auf/ab bewegen



stefaan
01-09-2004, 17:09
Servus!

Für eine Sortierungsmöglchkeit brauche ich einen Ansatz für folgendes Problem:
Gegeben sei eine Tabelle mit n Zeilen, jede Zeile hat einen Link für "auf" und "ab", außer die erste und letzte. :D
Generiert wird diese Reihenfolge aus einer MySQL-Datenbank, die eine eigene Spalte mit dem Rang hat (1..n). Nun möchte ich mit dem Link "auf" und "ab" den Rang verändern.
Folgendes ist mir dazu eingefallen:
-) auf: rang-1 auf die Seite legen, neuen Datensatz auf rang-1 legen, alten Datensatz auf rang legen. Also eigentlich nur vertauschen, ebenso abwärts.

Gibts da irgendwo fertige Codeschnippsel oder gar eine bessere Lösung?

Danke!

Grüße, Stefan

quinte17
02-09-2004, 07:42
also wenn du eh eine db hast, warum versuchst du dass dann nicht mit 2 sql updates?

greetz

stefaan
02-09-2004, 08:15
Servus!

So läufts jetzt:


if($action == "up" && is_numeric($id)) {
$rank = $db->getOne("select ranking from tbl_uebersicht where artikel_id=\"" . $id . "\"");

$prev=$rank - 1;
$next=$rank + 1;

$query1 = "UPDATE tbl_uebersicht set ranking=0 where ranking=" . $prev;
$res=$db->query($query1);
echo $query1 . "<br>";

$query2= "UPDATE tbl_uebersicht set ranking=" . $prev . " where ranking=" . $rank;
$res=$db->query($query2);
echo $query2 . "<br>";

$query3 = "UPDATE tbl_uebersicht set ranking=" . $rank . " where ranking=0";
$res=$db->query($query3);
echo $query3 . "\n";

}


Grüße, Stefan