Jag har en kod som ur de sista inläggen i en databas väljer att skriva ut bara dem som uppfyller vissa kriterier. Men nu är det så att jag vill att den bara skall välja bland de som uppfyller kriterierna och sedan skriva ut de sista bland dem. Kriterierna är: Tack!!! Om jag vill att alla som uppfyller kriterierna skall skrivas ut men att det bara skall visas tio på sidan samtidigt (börja med nyaste) för att sedan man skall kunna visa nästa tio genom att klicka på "nästa" och så vidare. Hej! Fattar inte riktigt...får det inte att funka. Så om du vet vad som gjorts fel hjälp mig!!! När jag försöker köra sidan står följande: Hej. Får det inte att funka när jag skriver End With (int wit) istället. Hej! Nu funkar det så pass att följande kommit upp på sidan (men rubrikerna blir ju inte listade, vad är fel?): Hej! Byt ut response.write objRS("rubrik") mot Nu är det så att jag vill lista länkar nämligen "". <code> gott!!! du din kod funkar säkert, men om det är många poster som ska loopas igenom kan det bli lite segt eftersom den byter html/asp motor.Skriv ut om 2st kriterier är uppfylda!
RecSet("ref_id") = 0
RecSet("aktiv") = True
Koden jag har är följande:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nyhet.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select TOP 25 * From inlagg ORDER BY datum DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
If RecSet("ref_id") = 0 Then
id = RecSet("id")
End If
If RecSet("aktiv") = True Then
id = RecSet("id")
%>
<table width="200">
<td width="200"><font size="1"><%=RecSet("rubrik")%></font></td>
<%
End If
RecSet.MoveNext
Loop
%>
<%
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
Hoppas ni förstår vad jag menar...fråga annars!Sv: Skriv ut om 2st kriterier är uppfylda!
Addera = "Select TOP 25 * From inlagg WHERE ref_id=0 AND aktiv=true ORDER BY datum DESC"Sv: Skriv ut om 2st kriterier är uppfylda!
Oj vad det gick undan då...tog ju bara några minuter för att få svar... och visst blev det som jag ville ha det också. Tack så himlans mycket! *respect*Sv: Skriv ut om 2st kriterier är uppfylda!
Vet någon hur jag skall göra för att få det så?Sv: Skriv ut om 2st kriterier är uppfylda!
Hoppas du blir lika nöjd med detta svar, ganska snabb var jag iaf :)
Iaf, det som du vill göra kalla paging. Lite avancerat...
Kurs:
=>>http://www.pellesoft.nu/login/articles/asp/asp_paging.asp
/jonasfår det inte att funka.
Kompileringsfel i Microsoft VBScript fel '800a0405'
Expected 'With'
/community1/paging.asp, rad 29
End Wit
----^
Har skrivit följande i paging.asp:
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
'## -- hur många poster ska visas per sida --
intPageSize = 10 '## -- byt ut till hur många poster du vill ska visas per sida --
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
'## -- kontrollera så att inte intPage variabeln är tom --
If intPage = "" Then intPage = 1 '## -- visa första sidan som default --
'## -- sql-fråga för att hämta data från databasen --
strSQL = "SELECT rubrik From personligt WHERE ref_id=0 AND aktiv=true ORDER BY datum DESC"
'## -- skapa och öppna recordsetet --
Set objRS = Server.CreateObject("ADODB.Recordset")
With objRS
.ActiveConnection = objConn
.Source = strSQL
'## -- bestämmer hur många poster som varje sida ska bestå av i recordsetet --
.PageSize = intPageSize
.CursorType = 3
.LockType = 1
.Open
End Wit
'## -- kontrollera om några poster har returnerats eller inte --
If Not objRS.EOF Then
'## -- poster har returnerats --
'## -- visa rätt sida i recordsetet --
objRS.AbsolutePage = intPage
'## -- hur många sidor består recordsetet av --
intTotalPages = objRS.PageCount
'## -- visa sidnavigeringen --
Call PageNavigation(intPage, intTotalPages)
'## -- loopa igenom recordsetet och visa posterna för besökaren/användaren --
Do Until objRS.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1
'## -- printa ut informationen till besökare/användaren --
objRS.MoveNext
Loop
Else
'## -- inga poster returnerades --
'## -- visa meddelande att inga poster hittades för användaren --
End If
'## -- rensa up --
objRS.Close
Set objRS = Nothing
objConn.Close
Set objconn = Nothing
'## -- visa sidnavigeringen --
Call PageNavigation(intPage, intTotalPages)
'## -- include filen nedan innehåller själva subrutinen för sidnavigeringen --
%>
<!--#INCLUDE FILE="sub.asp"-->
Och har skrivit följande i sub.asp:
<%
Sub PageNavigation(ByVal Page, TotalPages)
Dim strScriptName
'## -- denna sidas namn --
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- länk till föregående sida --
'## -- kontrollera att det inte är första sidan som visas --
If CInt(Page) > 1 Then
'## -- inte första sidan som visas så gör en länk --
Response.Write "<< Föregående "
Else
'## -- det är första sidan som ska visas. gör ingen länk --
Response.Write "<< Föregående "
End If
'## -- bygg upp själva pagebaren, dvs varje sidnummer ska ha en länk
'## -- så att besökaren snabbt kan ta sig till rätt sida --
For N = 1 To CInt(TotalPages)
If N <> CInt(Page) Then
'## -- ej aktuell sida, länka --
Response.Write "" & N & " "
Else
'## -- aktuell sida, länka ej --
Response.Write "<B>" & N & "<B> "
End If
Next
'## -- länk till nästa sida. om vi står på sista sidan ska den ej vara länkad --
If CInt(Page) < CInt(TotalPages) Then
'## -- vi är inte på sista sidan --
Response.Write "Nästa >>"
Else
'## -- vi är på sista sidan. länka ej --
Response.Write "Nästa >>"
End If
End Sub
%>Sv: får det inte att funka.
Tror att tyrkfelsNisse varit framme.
Det borde vara End With (int wit)
Ha de bra.
mvh Philipfunkar ändå inte att funka
Felmeddelandet lyder:
Kompileringsfel i Microsoft VBScript fel '800a03ee'
')' förväntas.
/community1/paging.asp, rad 30
With (int wit)
----------^
Om du vet hur hur det här med paging funkar och skulle vilja skriva ner koden för det jag vill göra så skulle jag bli super glad.
kontakten med databasen vill jag görs med:
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"Sv: funkar ändå inte att funka
Tryckfelsnisse e på hugget idag!
Han skrev oxå fel tror jag...
det ska vara
<code>
End With
</code>
han menade nog: With (inte Wit)
lycka till!
/jonasNu börjar det ge sig!!!
<< Föregående 1 2 Nästa >><< Föregående 1 2 Nästa >>
...Jag undrar altså hur jag skriver ut "rubrikerna". Det jag undrar är alltså vad jag skall skriva under '## -- printa ut informationen till besökare/användaren -- Sv: Nu börjar det ge sig!!!
testa:
<code>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("forumet.mdb")&";"
intPageSize = 10 '## -- byt ut till hur många poster du vill ska visas per sida --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1 '## -- visa första sidan som default --
strSQL = "SELECT rubrik From personligt WHERE ref_id=0 AND aktiv=true ORDER BY datum DESC"
Set objRS = Server.CreateObject("ADODB.Recordset")
With objRS
.ActiveConnection = objConn
.Source = strSQL
i recordsetet --
.PageSize = intPageSize
.CursorType = 3
.LockType = 1
.Open
End With
If Not objRS.EOF Then
objRS.AbsolutePage = intPage
intTotalPages = objRS.PageCount
Call PageNavigation(intPage, intTotalPages)
Do Until objRS.EOF OR intCounter >= intPageSize
intCounter = intCounter + 1
response.write objRS("rubrik")
objRS.MoveNext
Loop
Else
response.write "Inga poster hittades!"
End If
objRS.Close
Set objRS = Nothing
objConn.Close
Set objconn = Nothing
Call PageNavigation(intPage, intTotalPages)
%>
</code>
/jonasSv: ok..funkade
response.write objRS("rubrik") & "<br>"
MikaelSv: men om jag vill ha länk då
Men det funkar tydligen inte att skriva så
Jag har skrivit följande:
response.write "" & objRS("rubrik") & "<br>" & vbCrLf
...men får då felmeddelandet:
Kompileringsfel i Microsoft VBScript fel '800a0401'
Slut på programsats förväntas.
/community1/paging.asp, rad 57
response.write ""<A href=inlagg.asp?id=<%=id
--------------------^
Vanliga länkar funkar. typ "<A href=inlagg.asp". Så nu undrar jag hur man gör för att kuna lista länkar så som det översta exemplet.Sv: men om jag vill ha länk då
response.write "" & objRS("rubrik") & "<br>" & vbCrLf
</code>
/jonasgott!!
funkade inte att göra som du skrev men fixade det på ett annat sätt.
Jag skrev istället:
%>
"><%=objRS("rubrik")%><br>
<%
...så nu funkar allt fint fint...tack skall ni ha alla som hjälpt mig och jonas tack som satan!!!Sv: gott!!
<code>
response.write "" & objRS("rubrik") & "<br>" & vbCrLf
</code>
Den koden ska banne mig funka!!!!
/jonas