phpbar.de logo

Mailinglisten-Archive

[php] MySQL: Datensatz nach oben und unten verschieben

[php] MySQL: Datensatz nach oben und unten verschieben

Andreas Ahlenstorf lists at ahlenstorf.ch
Mon Jun 11 17:36:10 CEST 2007


Am 11.06.2007 um 16:38 schrieb Simon Bienlein:

> Eine Tabelle hat folgende spalten:
> id int not null auto_increment primary key,
> name varchar(50) not null,
> prio int not null

Das ist schon mal gut. Wenn du das Feld prio nicht von Hand befüllen  
willst, geht das so:

- Neuer Datensatz: UPDATE table SET prio = MAX(prio) + 1 WHERE id =  
'neuedatensatzid'
- Datensatz x anstelle von anderem Datensatz y: prio vertauschen mit  
zwei Updates
- Datensatz vor Datensatz mit prio y: UPDATE table SET prio = prio +  
1 WHERE prio > y; neuen Datensatz mit Prio y einfügen.

Ist im Prinzip alles eine Frage von ein paar Updates. Alles klar?

Gruss,
Andreas
  
  

php::bar PHP Wiki   -   Listenarchive