Avatar billede bms Nybegynder
03. april 2001 - 15:10 Der er 10 kommentarer og
1 løsning

tjekke sidste RS og +1 Plz!

Beklager - men jeg HAR desværre ikke flere point. Men det er vist også hurtigt svaret...

Brugere indsender links via en submitform. Via et admin-modul kan jeg efterfølgende sortere disse links efter en Rank som jeg selv angiver.

Spørgsmålet er: Kan man gøre sådan at siden der submitter linket tjekker hvad forrige links (i databasen) Rank er og så lægger 1 til. På den måde kommer rankene automatisk til at stå som 1,2,3,4... osv.

Dvs. - at submitsiden tjekker forrige links rank - tilføjer 1 til det tal og submitter den nye rank sammen med de øvrige info (Url osv).

Avatar billede nute Nybegynder
03. april 2001 - 15:15 #1
SQL = \"SELECT MAX(ID) AS max FROM links\"

Set RS = Conn.Execute( SQL )
max = CInt(RS(\"max\")) + 1

/nute
Avatar billede nute Nybegynder
03. april 2001 - 15:16 #2
hov...

SQL = \"SELECT MAX(ID) AS max FROM links ORDER BY ID ASC\"

/nute
Avatar billede bms Nybegynder
03. april 2001 - 15:23 #3
Hmm... får en griiiimme fejlmeddelelse:
[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression \'ID\' as part of an aggregate function.

/test/processubmit.asp, line 14

koden:
<% \'-- Connection to DB
Set RS = server.CreateObject(\"ADODB.connection\")
RS.open ConnString
SQL = \"SELECT MAX(ID) AS max FROM Links ORDER BY ID ASC\"
Set RS = RS.Execute( SQL )

max = CInt(RS(\"max\")) + 1

RS.addnew
    RS(\"Url\") = request.form(\"Url\")
    RS(\"Dato\") = date
    RS(\"Rank\") = max
RS.update
RS.close
RS = null
%>
Avatar billede nute Nybegynder
03. april 2001 - 15:26 #4
heter din kolonne \'ID\' og din tabell \'Links\' ??
Avatar billede bms Nybegynder
03. april 2001 - 15:32 #5
Altså tabellen hedder Links - og den skal hente sidste \"rank\" og opdatere som \"rank +1\"...

<% \'-- Connection to DB
Set RS = server.CreateObject(\"ADODB.connection\")
RS.open ConnString
SQL = \"SELECT MAX(Rank) AS max FROM Links ORDER BY Rank ASC\"
Set RS = RS.Execute( SQL )

max = CInt(RS(\"max\")) + 1

RS.addnew

    RS(\"Category\") = request.form(\"Category\")
    RS(\"Url\") = request.form(\"Url\")
    RS(\"Pics\") = request.form(\"Pics\")   
    RS(\"Email\") = request.form(\"Email\")
    RS(\"Dato\") = date
    RS(\"Rank\") = max
   
RS.update
RS.close
RS = null
%>
Avatar billede nute Nybegynder
03. april 2001 - 15:35 #6
prøv evt:

SQL = \"SELECT TOP 1 Rank FROM Links ORDER BY Rank DESC\"

(( for 6 points må du nesten regne med å finne det selv uit etter at jeg har gitt deg to ulike muligheter for å hente ut den verdien du vil ha... ))

/nute
Avatar billede bms Nybegynder
03. april 2001 - 15:37 #7
bevares... jeg sagde jo at der ikke var flere point. Gjorde jo bare opmærksom på at din løsning ikke virkede!
Avatar billede nute Nybegynder
03. april 2001 - 15:39 #8
jepp...og jeg gjør deg oppmerksom på at det er en av disse to måtene du skal benytte... ;)
Avatar billede bms Nybegynder
03. april 2001 - 15:44 #9
ok så! Men den nederst virker da simpel! Den tager det øverste ranknummer?

Angiver man +1 sådan:
Rankplusone = (RS(\"Rank\")) + 1

??
Avatar billede nute Nybegynder
03. april 2001 - 15:48 #10
du skal konvertere RS(\"Rank\") til en integer for at du skal kunne gjøre dette:

Rankplusone = CInt(RS(\"Rank\")) + 1

/nute
Avatar billede bms Nybegynder
03. april 2001 - 16:01 #11
hmm... ja ja jeg finder nok ud af det! Tak for det!
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