/ 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
Kriterier i en database
Fra : Troels Lenda


Dato : 24-08-01 15:25

<%if " & Request("page") & " = 1 then
strSQL = "Select * from referencer where ID <= 3"
elseif " & Request("page") & " = 2 then
strSQL = "Select * from referencer where ID >= 4 and <= 6"
elseif " & Request("page") & " = 3 then
strSQL = "Select * from referencer where ID >= 7 and <= 9"
end if%>

Kan det lade sig gøre? Hvad er gjordt forkert?

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Anders Holbøll (24-08-2001)
Kommentar
Fra : Anders Holbøll


Dato : 24-08-01 15:48

Troels Lenda wrote:
>
> <%if " & Request("page") & " = 1 then
> strSQL = "Select * from referencer where ID <= 3"
> elseif " & Request("page") & " = 2 then
> strSQL = "Select * from referencer where ID >= 4 and <= 6"
> elseif " & Request("page") & " = 3 then
> strSQL = "Select * from referencer where ID >= 7 and <= 9"
> end if%>
>
> Kan det lade sig gøre? Hvad er gjordt forkert?

Der er lidt blandede syntaxfejl og det kunne måske skrives kortere, som:

Dim page
page = Trim(Request("page"))
If (page = "") Then page = 1 Else page = CLng(page)
strSQL = _
"SELECT * " & _
"FROM referencer " & _
"WHERE id BETWEEN "&(page * 3 - 2)&" AND "&(page * 3)

Men problemet er jo bare, at hvis der bliver slettet nogle poster, så
bliver der ikke vist 3 poster på hver side mere.

--
Anders

Troels Lenda (25-08-2001)
Kommentar
Fra : Troels Lenda


Dato : 25-08-01 14:47

Det som er problemet, er at når jeg trykker på et link der hedder fx.
"næste side" skal den vise de 3 næste poster i databasen.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Anders Holbøll (25-08-2001)
Kommentar
Fra : Anders Holbøll


Dato : 25-08-01 15:05

Troels Lenda wrote:
>
> Det som er problemet, er at når jeg trykker på et link der hedder
> fx. "næste side" skal den vise de 3 næste poster i databasen.

Der er en del måder at gøre det på, f.eks.:
- Via Rs.GetRows
- Via Rs.PageAbsolute
- Sjov med "SELECT TOP ..."

Men kunne man ikke også her, hvis man kun tænker på hastighed:

Const PageSize = 3
First = StrToInt(Request("First"), 0)

Sql =
"SELECT TOP " & (PageSize + 1) & " id, name" & vbCrLf & _
"FROM mintabel" & vbCrLf & _
"WHERE id >= " & First & vbCrLf & _
"ORDER BY id"
Rs.Open Sql, Conn, 0, 1, 1
Count = 0
Do Until Rs.Eof Or Count >= PageSize
Response.Write Server.HtmlEncode("" & rs("name")) & "<br>" & vbCrLf
Count = Count + 1
Rs.MoveNext
Loop
If Not Rs.Eof Then
Response.Write "<a href=""t.asp?first=" & rs("id") & _
""">N&aelig;ste &gt;</a>"
End If
Rs.Close

'-- En lille hjælpe funktion:
Function StrToInt(ByVal Value, ByVal Default)
If Not IsNumeric(Value) Or (Value = "") Then
StrToInt = Default
Else
StrToInt = CLng(Value)
End If
End Function

--
Anders

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408857
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste