Jag har 10 st nyheter i min databas och har som ni ser ställt in att de 4 senaste nyheterna skall visas på nyheter.asp sidan. Alltså borde ju de andra 6 nyheterna visas på gamla.asp sidan om jag har förstått det här scriptet rätt, men så blir det inte utan det enda som visas på gamla.asp är den senaste nyheten helt själv! Varför blir det såhär?
Absolut bäst vore ju om man hade ett paging system längst ner på sidan som visade 4 nyheter på varje sida. Hur tusan gör man ett sådant någon som kan hjälpa mig? Jag är kass på asp och vill bara få ihop det här scriptet sedan är min sida klar.
Tusen Tack i så fall / Erik
nyheter.asp
<!--#include file="funktion.inc"-->
<!--#include file="adovbs.inc"-->
<%
On Error Resume Next
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nyheter.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM nyheter ORDER BY DATUM DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
<%
DO Until RecSet.EOF OR X = 4
X=X+1
%>
<table width="320" border="0" cellpadding="5" cellspacing="5"> <tr> <td> <b><%=RecSet("rubrik")%></b></td></tr><tr><td><%
Response.Write fixa_text(RecSet("text"))
%></td></tr> </table><%
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%> <TABLE WIDTH="320" BORDER="0" CELLPADDING="5" CELLSPACING="5"><TR><TD><a href="gamla.asp">Gamla
Nyheter</a> </TD></TR></TABLE>
gamla.asp
<!--#include file="adovbs.inc"-->
<!--#include file="funktion.inc"-->
<%
On Error Resume Next
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nyheter.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM nyheter ORDER BY DATUM DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
%>
<table width="320" border="0" cellpadding="5" cellspacing="5"> <tr> <td> <b><%=RecSet("rubrik")%></b>
</td></tr><tr><td><%Response.Write fixa_text(RecSet("text"))%></td></tr> </table>
Jag har 10 st nyheter i min databas och har som ni ser ställt in att de 4 senaste nyheterna skall visas på nyheter.asp sidan. Alltså borde ju de andra 6 nyheterna visas på gamla.asp sidan om jag har förstått det här scriptet rätt, men så blir det inte utan det enda som visas på gamla.asp är den senaste nyheten helt själv! Varför blir det såhär?
Du loopar inte ut innehållet i gamla.asp... med reservation mot eventuella stavfel så borde följande fungera.
Angående paging så finns det många trådar i forumet om just det.
<!--#include file="adovbs.inc"-->
<!--#include file="funktion.inc"-->
<%
On Error Resume Next
X=1
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("nyheter.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM nyheter ORDER BY DATUM DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
DO Until RecSet.EOF
X=X+1
if X > 4 then
%>
<table width="320" border="0" cellpadding="5" cellspacing="5"> <tr> <td> <b><%=RecSet("rubrik")%></b></td></tr><tr><td><%
Response.Write fixa_text(RecSet("text"))
%></td></tr> </table><%
end if
RecSet.MoveNext
Loop
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
%>
Thanks Luna! din kod funkade fint, det enda som är lite dumt är att det blir samma nyhet som visades sist på nyheter.asp visas först på gamla.asp. Hur kan man tänkas få bort det?