liste mit veränderbarer reihenfolge

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

liste mit veränderbarer reihenfolge

Beitrag von k-5 »

ich versuch grad ne liste zu erstellen, bei der der user die reihenfolge der einzelnen elemente verschieben kann.

das problem dabei was ist der effektivste weg da ne sortierungsspalte einzuführen ..

meine idee:
einen integer, und bei jedem verschieben jeweils die zahlen vertauschen.
(auslesen der darunter/darüber liegenden nummer, eintrag darüber auf '-1' setzen, den aktuellen auf das ausgelesene, den darüber auf den alten des aktuellen)
problem: 4(!) queries

da muss es doch was effektiveres geben, n doppeltes SET wäre ja recht angenehm, nur find ich da irgendwie nix
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Dennis63
Ehemaliges Teammitglied
Beiträge: 2597
Registriert: 02.07.2003 18:46

Beitrag von Dennis63 »

Das vertauschen geht auch mit einer SQL-Abfrage...

Erstelle TEST-Tabelle

Code: Alles auswählen

CREATE TABLE `test` (
  `Id` int(6) unsigned NOT NULL auto_increment,
  `posi` int(4) default NULL,
  PRIMARY KEY  (`Id`)
) TYPE=MyISAM;

INSERT INTO `test` VALUES (1,1);
INSERT INTO `test` VALUES (2,2);
INSERT INTO `test` VALUES (3,3);
INSERT INTO `test` VALUES (4,4);
INSERT INTO `test` VALUES (5,5);
Vertausche 2 mit 3

Code: Alles auswählen

update test a, test b
SET a.posi = 2 , b.posi = 3
WHERE a.posi = 3 AND b.posi = 2
Grüße
Dennis
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag von k-5 »

ah danke ..

genau das meinte ich mit "nem doppelten set" ;) ..
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag von k-5 »

hm .. gibts dafür auch ne lösung die mit mysql 3.23 läuft ? ..
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Antworten

Zurück zu „Coding & Technik“