/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
næste id i rækken
Fra : Dj Uncas


Dato : 16-02-05 19:57

hejsa

jeg har et nyhedssystem hvor brugeren først ser en tabel med titler på alle
nyhedsartikler, og derefter en seperat side når de klikker på en titel.
På den side hvor selve artiklen vises kunne jeg godt tænke mig en knap der
gik til næste, og en til forrige artikel. nyhederne er gemt i en MySQL db,
og har nøglen 'id' der er nummerisk. Hvad kan jeg gøre?

Jeg har tænkt noget som dette, men jeg aner ikke hvordan jeg skal få det til
at virke:

<input type="button" onclick="window.location=/news/article.asp?id=<%=
rs("id") +1 %>" />



 
 
Lars Hoffmann (16-02-2005)
Kommentar
Fra : Lars Hoffmann


Dato : 16-02-05 20:35

Dj Uncas wrote:

> <input type="button" onclick="window.location=/news/article.asp?id=<%=
> rs("id") +1 %>" />

Det er da en begyndelses, men du skal huske at du på et eller andet tidspunkt
kommer til den sidste nyhed og derfor ikke skal have et link til den næste.

Hvorfor gør du det med javascript, hvad er der galt med et ganske almindeligt
link:
<a href="/news/article.asp?id=<%=rs("id") + 1 %>">Næste</a>

Du skal måske også passe på med at lave et sådant link hvis du ikke er 100%
sikker på at der ikke er huller i dine id'er. Hvad sker der f.eks hvis du
sletter en artikkel? så kommer der måske hul i dine id'er. Det vil nok være en
god ide at lave en lille forspørgsel til databasen for at finde det næste id:

(utestet kode)
<%
dim SQL
dim rsNaeste

SQL = "SELECT min(id) as naesteID FROM news where id >" & rs.fields("id")

set rsNaeste = MITCONNECTIONOBJECT.execute(SQL)

if not rsNaeste.eof then
   response.write("<a href=""?id=" & rsNaeste.fields("naesteID") & """>Næste</a> ")
end if

%>


Det vil løse begge dine problemer.

Med venlig hilsen
Lars Hoffmann

Dj Uncas (16-02-2005)
Kommentar
Fra : Dj Uncas


Dato : 16-02-05 23:31

> Du skal måske også passe på med at lave et sådant link hvis du ikke er
> 100% sikker på at der ikke er huller i dine id'er. Hvad sker der f.eks
> hvis du sletter en artikkel? så kommer der måske hul i dine id'er. Det vil
> nok være en god ide at lave en lille forspørgsel til databasen for at
> finde det næste id:

Du har helt ret i alt hvad du siger, og koden virker også godt nok, indtil
den når til sidste record i db'en. Linket står der nemlig stadig, dog med
?id=(tom querystring).

Grunden til javascript er at det ser pænere ud knapper, efter jeg har stylet
dem lidt med css...



lars@intercambiodvd.~ (17-02-2005)
Kommentar
Fra : lars@intercambiodvd.~


Dato : 17-02-05 08:46

Dj Uncas wrote:

> Du har helt ret i alt hvad du siger, og koden virker også godt nok,
indtil
> den når til sidste record i db'en. Linket står der nemlig stadig,
dog med
> ?id=(tom querystring).

det må du kunne klare med en if sætning.

> Grunden til javascript er at det ser pænere ud knapper, efter jeg
har stylet
> dem lidt med css...

Så brug en gif der ligner knappen. Javascript bør undgås med mindre
der tilfører en funktionalitet man på andre måder ikke kunne opnå
og som er fundamental for at siden fungerer.

Med venlig hilsen
Lars Hoffmann


Dj Uncas (17-02-2005)
Kommentar
Fra : Dj Uncas


Dato : 17-02-05 12:23

>det må du kunne klare med en if sætning.

I Lars' svar, skrev han følgende kodeeksempel:

if not rsNaeste.eof then
response.write("<a href=""?id=" & rsNaeste.fields("naesteID") &
""">Næste</a> ")
end if

Så vidst jeg kan se er det en if-sætning, men det virker stadig ikke helt
efter hensigten.

Tilgengæld skal jeg nok droppe knapperne..



lars@intercambiodvd.~ (17-02-2005)
Kommentar
Fra : lars@intercambiodvd.~


Dato : 17-02-05 15:13


Dj Uncas wrote:
> >det må du kunne klare med en if sætning.
>
> I Lars' svar, skrev han følgende kodeeksempel:
>
> if not rsNaeste.eof then
> response.write("<a href=""?id=" & rsNaeste.fields("naesteID") &
> """>Næste</a> ")
> end if
>
> Så vidst jeg kan se er det en if-sætning, men det virker stadig
ikke helt
> efter hensigten.

Ja det er /en/ if, sætning, men ikke den du har brug for

prøv med:
if rsNaeste.fields("naeste") = "" then


Med venlig hilsen
Lars Hoffmann


Dj Uncas (17-02-2005)
Kommentar
Fra : Dj Uncas


Dato : 17-02-05 16:07

Ja det er /en/ if, sætning, men ikke den du har brug for

prøv med:
if rsNaeste.fields("naeste") = "" then


Okay, det virker hvis jeg skriver
if rsNaeste.fields("naeste") <> "" then
gif med link
else
andet gid, uden link
End If

også den anden vej.. tak for hjælpen!



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste