03. juli 2001 - 15:03Der er
10 kommentarer og 1 løsning
Sortering med både asc og desc
Jeg har et tabelfelt som jeg trækker ud. Jeg har lavet det til et link og kører sortering på det. Jeg vil gerne have det sådan at når jeg klikker på linket første gang, så bliver informationerne sorteret desc, når jeg så klikker igen så skal der sorteres asc.
Lidt kode; (virker ikke)
IF session(\"Sort\")<> \"\" THEN sql = sql & \" ORDER BY \" & session(\"Sort\") & \" desc \" session(\"Sort\") = \"\" Else sql = sql & \" ORDER BY \" & session(\"Sort\") & \" asc \" END IF
hvis session(\"Sort\") er tom - så bliver Else udført - og så er der ikke noget i ORDER BY, da det er værdien fra session(\"Sort\") der skal køres Order By på..... men den er jo tom :)
If session(\"Sort\") <> \"\" then sql = sql & \" ORDER BY feltnavn desc\" session(\"Sort\") = \"desc\" else sql = sql & \" ORDER BY feltnavn asc\" end if
ups, jeg lavede lige en fejl -> opdateret version:
If session(\"Sort\")= \"\" then sql = sql & \" ORDER BY feltnavn desc\" session(\"Sort\") = \"desc\" else sql = sql & \" ORDER BY feltnavn asc\" end if
elisabeth> det er lidt svært at gætte sig frem til hvad problemet er - kan du ikke komme med lidt mere kode? Evt. vise hvad sql er når din if-sætning er udført...
men du kan stadig under ingen omstændigheder lave den if-konstruktion du selv listede øverst...
for når du een gang har sorteret desc - så bliver session-variablen Sort jo sat til \"\" - og du vil mangle en ting at lave ORDER BY på i den sql der skal sorteres ASC - håber du forstår.....
Hvad med også at proppe asc og desc ind i den sessionvariabel
session(\"Sort\")=\"kolonnenavn desc\" ... sql = sql & \" ORDER BY \" & session(\"Sort\")
og så test om den den er det ene eller det andet
if instr(session(\"Sort\",\" desc\") then session(\"Sort\") = ....noget det trække kolonnenavnet up (split..) og sætte asc ind else ...det modsatte end if
if session(\"firstclick\") = \"\" then sql = sql & \" ORDER BY \" & request(\"action\") & \" asc\" session(\"firstclick\") = \"nope\" else sql = SQL & \" ORDEr BY \" & request(\"action\") & \" desc\" end if
If request(\"action\") <> \"\" Then If session(\"firstclick\") = \"\" Then sql = sql & \" ORDER BY \" & request(\"action\") & \" desc \" session(\"firstclick\") = \"no\" else sql = SQL & \" ORDER BY \" & request(\"action\") & \" asc\" session(\"firstclick\") = \"\" end if end if
Som næsten er Mark forslag men denne her kan man få til at skifte igen og igen. Til Alle>> Tak for hjælpen mvh Elisabeth
Synes godt om
Ny brugerNybegynder
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.