Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Paging

Postades av 2004-05-30 12:53:19 - Björn Bejegård, i forum asp - allmänt, Tråden har 13 Kommentarer och lästs av 815 personer

Använder följande paging på min länksida, och det fungerar hur bra som helst.

<code>

<!-- #include virtual="adovbs.inc" -->
<%
file = Server.MapPath("../databas.mdb")
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file

Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM linkz where visa=True and (not (kategori=33)) and (not (kategori=34)) and datum<=Date() ORDER BY Datum desc, ID Desc"

RecSet.Open SQL, Connect, adOpenStatic, adLockOptimistic

RecSet.pagesize = 10
sida = Request.QueryString("sida")

If sida = "" then sida = 1

if RecSet.EOF then
Response.write "Det finns inga poster att hämta i databasen"
Else

RecSet.AbsolutePage = sida

If sida = 1 then
Response.write "Äldre ->"

ElseIf (Int(totalPages)) = (Int(sida)) then
Response.write "<- Nyare"

Else
Response.write "<- Nyare"
Response.write "Äldre ->"
End If

response.write"<font size=5><b>Senaste länkarna</b></font><br>"

response.write "<br>"

Do until RecSet.EOF or fldcounter = RecSet.pagesize

fldcounter = fldcounter + 1

Set RecSet2 = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM kat WHERE id = "& Recset("kategori") &" "

RecSet2.Open SQL, Conn%>

<%strLink=RecSet("link")%>
<%If strLink<>"" Then%>

<!-- #include file="lankarna.asp"-->

<%
set recset2=nothing
RecSet.MoveNext
Loop
End If

End If%>

</code>

I ett tidigare inlägg fick jag hjälp med att fixa så att det visas de senaste två dagarnas inlägg med hjälp av följande sql-sats:

<code>
SQL = "SELECT linkz.*" & vbCrLf & _
"FROM linkz" & vbCrLf & _
"WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
" FROM linkz where datum<=date()" & vbCrLf & _
" GROUP BY linkz.datum ORDER BY linkz.datum DESC)" & vbCrLf & _
"ORDER BY linkz.datum DESC, linkz.id DESC"
</code>

Kan man på något sätt, och i så fall hur, bygga in den i pagingen så att det visas 2 dagar per sida? Hoppas ni förstår och att någon kan hjälpa mig!


Svara

Sv: Paging

Postades av 2004-05-31 19:32:12 - Björn Bejegård

Detta verkar vara en klurigfråga ju.. ställde samma fråga på Aspsidan, och inte heller där verkar någon kunna hjälpa mig =(. Det kanske inte går att göra så helt enkelt? Nån som vet? HJÄLP!!!


Svara

Sv: Paging

Postades av 2004-05-31 21:46:30 - Andreas Hillqvist

JAg tror du kan lösa det så här:
<code>
MyDate = Trim(Request.QueryString("date"))
If IsDate(MyDate) Then
MyDate = CDate(MyDate)
If MyDate > Date() Then
MyDate = Date()
End If
Else
MyDate = Date()
End If

strSQL = "SELECT linkz.*" & vbCrLf & _
"FROM linkz" & vbCrLf & _
"WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
" FROM linkz where datum<=#" & MyDate & "#" & vbCrLf & _
" GROUP BY linkz.datum ORDER BY linkz.datum DESC)" & vbCrLf & _
"ORDER BY linkz.datum DESC, linkz.id DESC"

rs.Open strSQL, con

If rs.EOF Then
Response.Write "Inga mer poster"
Else
Response.Write "Next page"
Do
'osv...
rs.MoveNext
Loop Until rs.EOF
End If
rs.Close
</code>


Svara

Sv: Paging

Postades av 2004-05-31 22:00:50 - Björn Bejegård

Nu fungerar första sidan, men när man skall gå vidare blir det galet. Den sidan finns inte!!


Svara

Sv: Paging

Postades av 2004-06-01 08:41:32 - Pelle Johansson

Om du läser andreas exempel så har han inte tagit med någon referens till nån sida, utan den får du bygga själv. Response.Write "Next page"


Svara

Sv: Paging

Postades av 2004-06-01 09:53:23 - Andreas Hillqvist

Lite grundläggande om URI:
Genom att utelämna adressen till en sida utgår den från aktuellsida. Den kommer lägga på frågesträngen.

Det är bara att testa själv:
<code>
<html>

<head>
<title>Ny sida 1</title>
</head>

<body>
A
B
C
</body>

</html>
</code>
Du slipper då hålla reda på sidans namn och/eller sökväg.


Svara

Sv: Paging

Postades av 2004-06-01 17:17:46 - Björn Bejegård

Hmm... tror inte det är det som är felet (säger jag som är nybörjare!!!)

Men jag har etstat med följande:

Response.Write "Next page"


och av det bildas då länken linkz.asp?do=sida&date=2004%2D06%2D01 altså med dagens datum. När jag provade att i min webläsare ändra datumet manuellt så kom jag till sidan med det datumet. Kanske har jag missupfattat allt nu, men... Hoppas ni förstår vad jag menar. Annars kanske ni kan kolla http://www.dopyworld.com/nya/linkz.asp?do=sida där jag lagt ut en testsida.


Svara

Sv: Paging

Postades av 2004-06-02 00:25:23 - Pelle Johansson

Ta bort server.urlencode och testa igen.


Svara

Sv: Paging

Postades av 2004-06-02 01:57:22 - Andreas Hillqvist

Tanke fel av mig. Min kod förutsatte stigande datum ordning. Med andra ord minsta värdet först.
Jag har korrigerrat det i följande exempel:
<code>
Dim MyDate
Dim LastDate
MyDate = Trim(Request.QueryString("date"))
If IsDate(MyDate) Then
MyDate = CDate(MyDate)
If MyDate > Date() Then
MyDate = Date()
End If
Else
MyDate = Date()
End If

strSQL = "SELECT linkz.*" & vbCrLf & _
"FROM linkz" & vbCrLf & _
"WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
" FROM linkz where datum<=#" & MyDate & "#" & vbCrLf & _
" GROUP BY linkz.datum ORDER BY linkz.datum DESC)" & vbCrLf & _
"ORDER BY linkz.datum DESC, linkz.id DESC"

rs.Open strSQL, con

If rs.EOF Then
Response.Write "Inga mer poster"
Else
Do
'osv...
LastDate = rs("Date") 'Ny rad
rs.MoveNext
Loop Until rs.EOF
Response.Write "Next page"
End If
rs.Close
</code>
Detta bör få koden att fungera. ;o)


Svara

Sv: Paging

Postades av 2004-06-02 01:59:04 - Andreas Hillqvist

Jag förstår inte varför du föreslår att tabort Server.URLEncode()? Detta måste ha varit ett hastigt genomtänkt förslag. Då jag vet att du är en mycket bra programmerare. ;o)

Om du har en bakomliggande anledning vill jag gärna att du berätar den.


Svara

Sv: Paging

Postades av 2004-06-02 17:41:32 - Björn Bejegård

Nu verkar det fungera... eller i alla fall nästan. Som sagt var: På varje sida skall det visas alla poster från två dagar, och det gör det nu också. Problemet nu är att länken till nästa sida blir på det sissta datumet på sidan innan.

Tillexempel sida 1:

2004-06-02
Länk1
Länk2

2004-05-30
Länk1
Länk2
Länk3

Nästa sida (Länken går då alltså till sidan med datumen 2004-05-30, vilket innebär att sidan kommer börja med det datumet.

2004-05-30
Länk1
Länk2
Länk3

2004-05-29
Länk1

Och så vidare. Hoppas ni förstår. Har provat ändra massa men får ingen ordning på det. Kolla in http://www.dopyworld.com/nya/linkz.asp?do=sida så förstår ni säkert vad jag menar.


Svara

Sv: Paging

Postades av 2004-06-02 20:08:07 - Andreas Hillqvist

<code>
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "#" & Year(Value) & "-" & Right("0" & Month(Value), 2) & "-" & Right("0" & Day(Value), 2) & "#"
Else
SQLDate = "Null"
End If
End Function

Dim rs
Dim con

Dim strSQL

Dim MyDate
Dim LastDate

Set con = Server.CreateObject("ADODB.Connection")
con.Open ""

strSQL = "SELECT linkz.*" & vbCrLf & _
"FROM linkz" & vbCrLf & _
"WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
" FROM linkz" & vbCrLf & _
" WHERE datum<=Date()" & vbCrLf & _
" GROUP BY linkz.datum" & vbCrLf & _
" ORDER BY linkz.datum DESC)" & vbCrLf & _
"ORDER BY linkz.datum DESC, linkz.id DESC"

MyDate = Trim(Request.QueryString("date"))

If IsDate(MyDate) Then
MyDate = CDate(MyDate)

If MyDate < Date() Then
strSQL = "SELECT linkz.*" & vbCrLf & _
"FROM linkz" & vbCrLf & _
"WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
" FROM linkz" & vbCrLf & _
" WHERE datum<#" & SQLDate(MyDate) & "#" & vbCrLf & _
" GROUP BY linkz.datum" & vbCrLf & _
" ORDER BY linkz.datum DESC)" & vbCrLf & _
"ORDER BY linkz.datum DESC, linkz.id DESC"
End If
End If

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, con

If rs.EOF Then
Response.Write "Inga mer poster"
Else
Do
'osv...

LastDate = rs("Date")
rs.MoveNext
Loop Until rs.EOF

Response.Write "Next page"
End If

rs.Close
Set rs = Nothing

con.Close
Set con = Nothing
</code>


Svara

Sv: Paging

Postades av 2004-06-02 21:10:01 - Björn Bejegård

Nu fungerar det ännu sämre! Länken bli precis som förrut, men sidan man kommer till har ett felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error. in query expression 'linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum FROM linkz WHERE datum<##2004-05-30## GROUP BY linkz.datum ORDER BY linkz.datum DESC)'.

På raden

rs.Open strSQL, con


Svara

Sv: Paging

Postades av 2004-06-04 17:28:11 - Andreas Hillqvist

Opps... Slarvfel av mig...

SQLDate() funktionen lägger till egna #-tecken. Så plocka bort #-tecken från SQL stasen.

<code>
strSQL = "SELECT linkz.*" & vbCrLf & _
"FROM linkz" & vbCrLf & _
"WHERE linkz.Visa AND NOT linkz.kategori IN (33, 34) and linkz.datum IN (SELECT TOP 2 linkz.datum" & vbCrLf & _
" FROM linkz" & vbCrLf & _
" WHERE datum<" & SQLDate(MyDate) & vbCrLf & _
" GROUP BY linkz.datum" & vbCrLf & _
" ORDER BY linkz.datum DESC)" & vbCrLf & _
"ORDER BY linkz.datum DESC, linkz.id DESC"
</code>

Jag tycker detta felet är lättlöst. Vilket tyder på att du inte satt dig in i hur koden fungerar och/eller inte försökt lösa det själv.
Om du villa programmera så skall du du främst försöka lösa dina problem på egen hand.

Om du har försökt göra det så är du förlåten. Annars så får du en bock i kanten... ;o)


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 786
27 960
271 761
662
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies