Linkliste sortieren wie Admin es will...

Chocobanana

Erfahrenes Mitglied
Hi@all!

Wieder mal ein Problem:

Ich habe eine Linkliste in HTML. Alle Einträge kommen aus einer MySQL Datenbank. Nun will ich diese Linkliste sortieren. Ich will also sagen können, das Link1 ganz nach oben kommt, Link 5 zwischen Link3 und Link4, usw.

Nur komme ich nicht ganz klar mit dieser Sortierung. Ich kann schon nach einem INT Feld "Sortierung" sortieren und die Prioritäten mit Zahlen setzen. Jedoch bekomm ich immer einen Sortierungsfehler, wenn ich einen Link zwischen 2 andere setzen will.

Beispiel:

Link1 hat die Priorität 10 und ist ganz oben. Link2 hat die Priorität 9 und ist an 2ter Stelle. Wenn ich jetzt aber sage, Link3 soll vor Link2 und nach Link1 hatte ich das Versucht mit:
Priorität LINK3 = Priorität LINK2+1
Da kommt dann logischerweise 10 raus, und der Link steht dann je nach Alphabet aber ganz oben.

Habt ihr eine gute Idee wie ich so eine Sortierung realisieren könnte?

Danke schon mal,
Choco
 
PHP:
  $sql  = "update `links` set `pos` = ";
  if ($_GET['move'] == "up")   $sql .= "pos-1";
  if ($_GET['move'] == "down") $sql .= "pos+1";
  $sql .= " where `id` = '".$_GET['id']."' limit 1";
  mysql_query($sql) or die (mysql_error());
  $sql  = "update `links` set `pos` = ";
  if ($_GET['move'] == "up")   $sql .= "pos+1";
  if ($_GET['move'] == "down") $sql .= "pos-1";
  $sql .= " where `pos` = '";
  if ($_GET['move'] == "up")   $sql .= $_GET['pos']-1;
  if ($_GET['move'] == "down") $sql .= $_GET['pos']+1;
  $sql .= "' and `id` != '".$_GET['id']."' limit 1";
  mysql_query($sql) or die (mysql_error());
So mach ich das zur Zeit, weiß aber nicht wie sauber das ist :)

So sieht dann der Link aus:
HTML:
<a href="datei.php?pos={aktuelle_position}.'&id={id}&move={up/downr}">
 
Ich hätte da die Idee, dass du einfach jedem Link in der DB noch eine Position zuweist und dann wenn ein Link auf eine andere Position geschoben wird diese dann einfach änderst und die anderen entsprechend mit. Ist doch eigentlich ganz einfach?! Sry das ich dir kein Code poste, aber du sollst es ja lernen und ich bin dazu grad zu faul :)
 
Ist das schon effizient, wenn ich wegen einer Positionsänderung alle anderen (ca. 120) auch ändere?

Mit dem Coden komm ich schon klar, lass das mal meine Sorge sein ;)
Hab halt nur keinen Plan wie ich das vernünftig mache mit der Sortierung.
 
Hm bei 120 Links ist das mit der Effizienz eh hinfällig ^^. Aber ich würd es an deiner Stelle ausprobiern.

Eine andere Idee wäre vielleicht noch das du mal in den Code von nem Board schaust, wie die das machen, da kann man ja auch die Foren sortieren. Vielleicht ist da ne gute Lösung drin...
 
Zurück