28. juli 2003 - 12:13Der er
9 kommentarer og 1 løsning
Rangordning af databaseposter - hvordan?
Hej eksperter
Jeg har et CMS-system, hvor det for brugeren skal være muligt at angive en rækkefølge/prioritering/rangordning af poster i databasen.
Det kunne eksempelvis være for at styre rækkefølgen af menupunkter der hentes fra en tabel eller for at styre rækkefølgen af medarbejdere i medarbejderoversigten - så chefen er sikker på at stå øverst osv.
På nuværende tidspunkt har jeg lavet det meget simpelt således at der er et felt i tabellen som hedder rang (type int) og posterne sorteres så efter dette tal i stigende rækkefølge. Dvs. hvis man ønsker at en post skal op i hierakiet, skal den have et mindre rang-nummer.
Der sorteres derefter sekundært på andre felter og det kan derfor nogen gange være hensigtsmæssigt, hvis forskellige poster kan have samme rang, således at der måske sekundært sorteres efter eksempelvis navn.
Det uhensigtsmæssige ved dette system er at når brugeren skal vælge rang for eks. en medarbejder foregår det ved at indtaste et tal i en formular (sammen med de øvrige tabeldata) og der er ikke noget at forholde sig til i forhold til de øvrige poster.
I praksis tror jeg ofte det vil være nødvendigt, at undersøge rangen for andre poster inden man får givet den korrekte rang til den post man er ved at rette.
Derfor kunne jeg godt tænke mig at vide om nogen har ideer til en anden form for rangordningssystem, som kan opfylde de samme kriterier som det ovenstående, men måske er lidt nemmere at benytte for brugeren!
Det skal være relativt intuitivt i den formular, hvor rangen vælges og det skal heller ikke give anledning til en kæmpe kompleks db-struktur!
Håber I kan hjælpe med nogle gode ideer og evt. nogle kode-stumper - ideerne har dog højst prioritet, så kan jeg forhåbentlig selv oversætte den gode ide til PHP.
Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Erik: Det kan jeg godt se, men det løser stadig ikke problemet med at man på forhånd skal huske hvor stort rang-tallet skal være for at posten kommer ind det rigtige sted.
sostack: Desværre ikke så simpelt idet, rangordningen benyttes i måske 10 forskellige tabeller til medarbejder, links, projekter, udgivelser osv - det med medarbejdere var bare et eksempel.
Det behøver heller ikke være modifikationer af det system jeg har angivet ovenfor - det må gerne være en helt ny ide til hvordan man kan bygge det op - det primære er at det er nemt og intuitivt at bruge samtidig med at det ikke er unødvendigt langsomt at bruge for MySQL!
Overvejede også noget med at man måske kunne vælge rangordningen ved hjælp af en select boks - hvor alle poster var listet - evt. kombineret med et valg om den aktuelle post skal være før, efter eller på niveau med den valgte post.
ahh - det var faktisk endnu bedre! Det er måske ikke så tosset - så skal man bare fikse nogle dataforespørgsler der kan matche valgene - således at øvrige rang-numre auto-opdateres.
Tallet 10 var heller ikke ment til at skulle indtastes. Det er fint nok med en slags "indsæt før", der selv finder det tal, der skal regnes på. Så mener jeg mine 2 update sætninger stadig virker.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.