Avatar billede bms Nybegynder
02. april 2001 - 15:32 Der er 20 kommentarer og
1 løsning

Sætte rank til +1

Hmm... Den er lidt kringlet at forklare, men here goes...

Jeg er ved at lave et linkssystem (jokes) hvor brugere indsender deres links. Disse links smides via en form i databasen. Jeg kan så efterfølgende tildele disse links en \"rank\" der altså sorterer linkene efter relevans 0 - er lavest og det link kommer til at stå øverst, 1 - nedenunder osv... Derudover sorteres de efter dato, sådan at den sjoveste fra idag står øverst, næstsjovest fra idag står næstøverst. Den sjovest fra igår kommer så - som øverst fra igår osv... (håber I kan følge med).

Mit ønske er at når surferne indsender et link - så tildeles rank automatisk altså 1,2,3,4 osv... Som det er nu - står der bare 0 i databasen.

Kan man på en eller anden måde (på den side der processerer submit-formen) gøre sådan, at det indsendt link får en rank +1 ift. det link der er indsendt umiddelbart før. - Sådan at alle linkene på min admin-side sorteres først efter dato (nyeste øverst) og samtidig har fået et fortløbende rank-nummer (1,2,3,4 osv...)
Avatar billede jakoba Nybegynder
02. april 2001 - 15:36 #1
alle de indsendte bliver indsendt på et tidspunkt. så hvis du laver et felt der hedder tidspunkt og kommer klokkeslettet i har du din ranking der.
( order by descending time )
Avatar billede sone Nybegynder
02. april 2001 - 15:37 #2
Hvad med au bruge autonummer, så får de automatisk et fortløbende nummer.
Avatar billede slash Nybegynder
02. april 2001 - 15:38 #3
kan du ikke bare selecte top(1) rrannummer fra din linktabel når der submittes. Denne værdi smider du over i en variabel og til denne variabel lægger du 1 til! Og den er så den variabels værdi du inserter!
Avatar billede bms Nybegynder
02. april 2001 - 15:39 #4
alle links får tilføjet et dato-recordset automatisk.

autonummer?! Hvordan skal det angives?
Avatar billede sone Nybegynder
02. april 2001 - 15:39 #5
Bruger du Access ?
Avatar billede bms Nybegynder
02. april 2001 - 15:40 #6
access - ja!
Avatar billede sone Nybegynder
02. april 2001 - 15:41 #7
Så er autonummer en type lige som text, number osv. for et felt.
Avatar billede bms Nybegynder
02. april 2001 - 15:48 #8
øhmm.... det siger mig ikke så meget ;-)

Er det noget der skal angives på den side der processerer submit-formen?
RS(\"rank\") = NOGET +1 ?!?! Halløj!?
Avatar billede ruderkonge Nybegynder
02. april 2001 - 15:57 #9
du skal da bare lave et autonummer felt i dit databasefelt.

ellers kan du skrive...
Sql = \"select rank from tabel order by id desc\"
set rs = conn.execute(sql)
rank = rs(rank) +1


Avatar billede ruderkonge Nybegynder
02. april 2001 - 15:58 #10
den sidste jeg angav er både forkert og overflødig, la\' vær at bruge den
Avatar billede bms Nybegynder
02. april 2001 - 16:00 #11
autonummer-ideen er vel ok.... Men problemet er jo bare - at den skal starte på 0 hver dag?!
Avatar billede sone Nybegynder
02. april 2001 - 16:03 #12
OK - det kan den ikke.
Så er dato-feltet nok en bedre idé.
Avatar billede ruderkonge Nybegynder
02. april 2001 - 16:11 #13
du kan bare lave groupby i din SQL

Sql = \"select rank from tabel group by dato ...blabla
Avatar billede bms Nybegynder
02. april 2001 - 16:14 #14
groupby?! Siger mig ikke noget - men hvordan bliver rank sat til fortløbende tal?
Avatar billede ruderkonge Nybegynder
02. april 2001 - 16:17 #15
lav et autonummeret felt i db\'en

herefter:

Sql = \"select rank from tabel group by dato order by rank asc\"

eller sådan noget...afhænger af din nuværede kode
Avatar billede bms Nybegynder
02. april 2001 - 16:24 #16
Men problemet er jo bare - at den skal starte på 0 hver dag?! Gør den det?
Avatar billede ruderkonge Nybegynder
02. april 2001 - 16:49 #17
nej

Men den grupperer efter dato og så er det jo bare op til dig at lave de rigtige sætninger når koden skal ud på skærmen...
Avatar billede bms Nybegynder
02. april 2001 - 16:56 #18
aha... men det holder ikke helt - så bliver \"rank\" jo med tiden et meget stort tal. Som eksempel - lad os sige med 20 links om dagen ville rank jo være på 600 i løbet af en måned. Derfor er det jo netop at rank skal være fra 0 til x ved hver dato!

Kan man ordne det på en eller anden måde, tror du?
Avatar billede ruderkonge Nybegynder
02. april 2001 - 17:03 #19
du kan indefor din SQL sætning lave en counter:

sql = \"blabla\"

\' denne tæller +1 for hvert loop
count = count +1
\' denne udskriver ved hvert loop
response.write count

loop

Avatar billede bms Nybegynder
03. april 2001 - 13:31 #20
fiksede den selv
Avatar billede bms Nybegynder
04. april 2001 - 18:45 #21
ups - svar
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
Kurser inden for grundlæggende programmering

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