Avatar billede kasperbn Nybegynder
19. april 2004 - 10:27 Der er 6 kommentarer og
1 løsning

rang mekanisme

Hej eksperter

Findes der en nem måde at lave et rangsystem på. Jeg tænkte om der måske fandtes en mysql-type der kunne gøre det, men ved det ikke. Er der nogen der har et link eller lign, eller skal man bøvle sig igennem?

Kasper
Avatar billede dennismp Nybegynder
19. april 2004 - 10:41 #1
Du skal bare bruge et heltal (smallint, tinyint, integer fx) og så select dataud i den rækkefølge de skal rangeres efter, og så opdatere rækker een efter een.

Jeg er ikke klar over, om man kan gøre det hele via en sql-sætning i mysql.
Avatar billede dennismp Nybegynder
19. april 2004 - 10:42 #2
pseudokode (php)

$sql = "SELECT id FROM table ORDER BY antalpoint";
$res = mysql_query($sql);
$rank = 1;
while($row = mysql_fetch_row($res)) {
  mysql_query("UPDATE table SET rank=$rank WHERE id = {$row[0]}");
  $rank++;
}
Avatar billede codebase Praktikant
20. april 2004 - 01:41 #3
er det ikke noget med
SELECT * FROM table ORDER BY rang DESC (max. først)
eller
SELECT * FROM table ORDER BY rang ASC (min. først)
hvor rang er en kollone i tabellen..
Avatar billede kasperbn Nybegynder
20. april 2004 - 08:16 #4
Det er jeg klar over. Jeg ville bare undersøge om der var en forholdsvis nem måde at lave en rang-ting på. Det er jo pænt bøvle at skulle skrive 50 liniers kode i flere forskellige filer (f.eks tilføj.php, slet.php, oversigt.php). Hvis der fandtes en type eller lign. tænkte jeg at mysql selv vidste hvad den skulle gøre hvis noget f.eks. blev slettet. Det er altså tilstrækkeligt at sige at denne "ønske" type, skal kunne f.lg. den består af tal fra 1 til mange, den er sammengængende, således at når der slettes noget retter den selv de rækker der skal rettes. Den er entydig, dvs. to rækker i én tabel kan ikke have samme rank. Når man så flytter på en rank, vil mysql automatisk vide hvad den skal gøre med den anden række der så skal ændres.

Er der nogen der ved om en sådan type findes. Eller om den findes i en anden database. Ellers vil jeg tjene en million på at lave det :-)
Avatar billede codebase Praktikant
20. april 2004 - 10:35 #5
har du hørt om funktioner ? eller endnu bedre, Objekter??

Det er jo idiotisk at kode det direkte i alle filer, du skal lave en include af din funktionsfil/klassefil så skal du kun rette/tilføje funktioner et sted.!
Avatar billede kasperbn Nybegynder
20. april 2004 - 10:45 #6
Ja selvfølgelig, men det betyder jo ikke at du slipper for at skrive al det kode.
Avatar billede kasperbn Nybegynder
29. april 2005 - 12:28 #7
-lukket-
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester