phpbar.de logo

Mailinglisten-Archive

Re: [php] Sortierung Datensätze

Re: [php] Sortierung Datensätze

Ringo Großer swek at gmx.net
Die Feb 22 18:04:49 CET 2005


hallo Stephan,

Stephan wrote:
> Nun möchte ich die Reihenfolge der Ausgabe Verändern.

wirklich nur die ausgabe oder auch die db-interne anordnung?
wenns nur die ausgabe sein soll, muss trotzdem ein muster
zu grunde liegen, nach dem sortiert werden soll.
eine absteigende sortierung nach der spalte name tut es nicht?

> Bsp.:
> Der 'Test C' soll vor dem 'Test B' angezeigt werden.

eine willkürliche sortierung kannst du nur manuell durchführen.
z.b. durch einführung einer weiteren spalte für die position.

> Dazu möchte ich die
> Werte der Spalte 'kategorie' verändern.
> Die Werte der Spalte 'kategorie' dürfen nicht negativ sein.
> Hat jemand eine praktikable Idee ?

warum die kategorie ändern? diese sollte als eindeutiger
schlüssel (PRIMARY KEY) fungieren und eine dauerhaft
referenzierbare information bleiben.

wenn du jedoch unbedingt diesen als positionsbestimmung
verwenden willst, müsstest du quasi (mehr oder weniger manuell)
die db ändern.

wenn das etwas für den browser und zum klicken werden
soll, dann hättest du 2 möglichkeiten:

1. ausgabe aller datensätze in aktueller reihenfolge
und durch "position auf" und "position ab" immer jeweils 2 vertauschen.
also z.b. mit dem letzten eintrag von ganz unten nach ganz oben wandern.
also "Test C" soll vor "Test B" dann hole beide strings und
vertausche sie beim update an die stelle der jeweils anderen
kategorie id.

2. ausgabe aller datensätzen mit jeweils eingabefeld dahinter
und dann den nutzer über die eingabefelder die reihenfolge neu
bestimmen lassen (durchnummerieren). dann musst du nur noch
auf eindeutigkeit der eingaben prüfen und alles wieder komplett
in der db überschreiben oder clevere updates überlegen.
spätestens wenn es an komplexe strings in der spalte name
geht, weißt du eindeutige ids als primary key zu schätzen ;-)

regards, Ringo


php::bar PHP Wiki   -   Listenarchive