Tjo! Det tackar jag för. Era bonusmedlemspengar behövs verkligen för att täcka utgifterna pellesoft kostar mig. Arbetet får jag räkna in som utbildning för det kommer jag aldrig få igen, däremot de direkta kostnaderna. Jag har testat "Paging! Hur man delar upp ett recordset på flera sidor." men jag fattar inte vad det är jag skall lägga till, min SQL kod vill jag ju inte tabort (måste jag det?) den sorterar ju A-Ö och tvärtom. vart skall paging koden in någonstans, jag blir förvirrad bara och då blir det ju fel :-( Du kan inte ha läst ordentligt eller inte förstått principen. Okej, så jag kommer att kunna använda min kod som funkar och som jag är nöjd med alltså :-) om vi börjar med vad du sa ang. <code>objRs.Open sql, conn, 1,3</code> nu så har jag lyckats att fixa till det utan Felmeddelanden men det blir fel iaf :-( jag är kanske helt ute och snurrar?? :-) har lagt ut det här:vill skapa en sk paging
skulle vilja ha hjälp med paging kod till denna sida, jag vet ej hur jag skall göra har testat men får en massa fel så nu hoppas jag att någon kan hjälpa mig med lite kod för detta så att man får 10 per sida och att det blir numrerat typ 1, 2, 3 osv.
//Tommy
<code><SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function displaypic(img){
foto1= new Image();
foto1.src=(img);
Controlla(img);
}
function Controlla(img){
if((foto1.width!=0)&&(foto1.height!=0)){
viewFoto(img);
}
else{
funzione="Controlla('"+img+"')";
intervallo=setTimeout(funzione,20);
}
}
function viewFoto(img){
largh=foto1.width+20;
altez=foto1.height+20;
stringa="width="+largh+",height="+altez;
finestra=window.open(img,"",stringa);
}
// End -->
</script>
<%
Dim DBName, objConn, objRS, strSQL
Dim icount
icount = 0
DBName = server.mappath("DB/orders.mdb")
Sort = Request.Querystring( "SORT" )
Status = Request.Querystring( "STATUS" )
Search = Request.Querystring( "SEARCH" )
IF Status = Open Then
Status = 1
ElseIf Status = Closed Then
Status = 2
End IF
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DBQ=" & DBName & ";Driver={Microsoft Access Driver (*.mdb)};"
objConn.Open
Set objRS = Server.CreateObject("ADODB.Recordset")
'IF Len(Search) <> 0 Then http://www.aspalliance.com/glenncook/searchcode.asp
'strSQL = "SELECT * FROM TFT WHERE ORDER BY CustEstPortDate DESC"
' Set objRS= objConn.execute(strSQL)
IF Len(Sort) = 0 Then
strSQL = "SELECT * FROM TFT ORDER BY Model asc"
Set objRS= objConn.execute(strSQL)
Else
Select Case Sort
Case 1
strSQL = "SELECT * FROM TFT ORDER BY Size DESC"
Set objRS= objConn.execute(strSQL)
Case 2
strSQL = "SELECT * FROM TFT ORDER BY Size asc"
Set objRS= objConn.execute(strSQL)
Case 3
strSQL = "SELECT * FROM TFT ORDER BY Resolution DESC"
Set objRS= objConn.execute(strSQL)
Case 4
strSQL = "SELECT * FROM TFT ORDER BY Resolution asc"
Set objRS= objConn.execute(strSQL)
Case 5
strSQL = "SELECT * FROM TFT ORDER BY Interface DESC"
Set objRS= objConn.execute(strSQL)
Case 6
strSQL = "SELECT * FROM TFT ORDER BY Interface asc"
Set objRS= objConn.execute(strSQL)
Case 9
strSQL = "SELECT * FROM TFT ORDER BY Model DESC"
Set objRS= objConn.execute(strSQL)
Case 900
strSQL = "SELECT * FROM TFT ORDER BY Model asc"
Set objRS= objConn.execute(strSQL)
Case 10
strSQL = "SELECT * FROM TFT ORDER BY Brightness DESC"
Set objRS= objConn.execute(strSQL)
Case 11
strSQL = "SELECT * FROM TFT ORDER BY Brightness asc"
Set objRS= objConn.execute(strSQL)
End Select
'strSQL = "SELECT * FROM TFT ORDER BY CustEstPortDate"
'Set objRS= objConn.execute(strSQL)
End IF
%>
<html>
<head>
<title>Order Report</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="css/admin.css" type="text/css">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</head>
<body bgcolor="#ecece4" text="#000000" leftmargin="0" topmargin="0">
<table width="795" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top"> </td>
</tr>
<tr>
<td align="center" valign="top"> <table width="90%" border="0" cellpadding="0" cellspacing="0" class="ram"">
<tr align="left" valign="middle" bgcolor="#333333" class="normaltxt">
<td width="28" height="20"><font color="#FFFFFF"> Bild</font></td>
<td width="40" height="20"><font color="#FFFFFF">Model </font></td>
<td width="103" height="20"><font color="#FFFFFF"></font></td>
<td width="30" height="20"><font color="#FFFFFF">Size</font></td>
<td width="91" height="20"> <font color="#FFFFFF"></font></td>
<td width="66" height="20"><font color="#FFFFFF">Resolution</font></td>
<td width="66" height="20"> <font color="#FFFFFF"></font></td>
<td width="66" height="20"><font color="#FFFFFF">Brightness</font></td>
<td width="66" height="20"> <font color="#FFFFFF"></font></td>
<td width="57" height="20"><font color="#FFFFFF">Interface</font></td>
<td width="79" height="20"> <font color="#FFFFFF"></font></td>
</tr>
<%
While NOT objRS.EOF
If Eval(icount\2 = icount/2) Then
color = "#ecece4"
ELSE
color = "#fdfdfc"
END IF
%>
<TR align="left" valign="middle">
<td width="28" align="center" bgcolor="<%= color %>">')" border="0">" width="16" height="16" hspace="5" border="0"')"> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt">"> <%= objRS("Model") %> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Size") %> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Resolution") %> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Brightness")%> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Interface") %> </td>
</tr>
<%
icount=icount+1
objRS.MoveNext
Wend
objRS.Close
%>
</table></td>
</tr>
</table>
<table width="795" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top"> </td>
</tr>
</table>
</body>
</html>
</code>Sv: vill skapa en sk paging
När det gäller ditt problem så beror det på att du inte öppnar ditt recordset korrekt. Du använder Set objRS = Server.CreateObject("ADODB.Recordset") vilket ger ett serverside recordset. Det du skall göra är att öppna det som ett clientside, dvs objRs.Open sql, conn, 1,3
Det finns en mycket tydlig och bra artikel i asp-sektionen som heter "paging", ta en titt där. Du finner funktioner till ditt recordset som heter bl.a. MaxRecords som hjälper dig att utföra "paging" funktionen enkelt och smidigt.Sv: vill skapa en sk paging
//TommySv: vill skapa en sk paging
Man börjar med att skriva en sql-sats som hämtar ut en eller fler poster. Om det blir många poster så "faller ju sidan över" och man känner att det blir för mäktigt. Men genom att öppna ditt recordset med ett clientsided anrop får du möjligheten att kunna bestämma hur många poster varje "block" skall vara samt vilket "block" du vill visa. Då menar jag 1-20, 21-40,41-60 osv. Där 41-60 är block 3.
Men rst.MaxRows = 20 säger du att det är 20 rader som får visas i varje block. Med rst.Page = 3 säger du att det är det 3:e blocket som skall visas.
När du ställt in dessa parametrar och sedan kör en do while not rst.eof så kommer du bara få 20 poster att visa. Ta och klipp den koden, byt sql-satsen mot din och se - det kommer fungera.
Du skriver sqlsatsen så allting visas. Men i stället låter du ADO sköta jobbet med rst.MaxRecords och därigenom får du inte mer än x antal poster per sida. Sen använder du .Sv: vill skapa en sk paging
så vet jag inte vart jag skall skriva det är det under
<code>Set objRS = Server.CreateObject("ADODB.Recordset")</code>
så här?
<code>
Set objRS = Server.CreateObject("ADODB.Recordset")
objRs.Open sql, conn, 1,3
</code>
Testade det sista men får då fel på det.
/TommySv: vill skapa en sk paging
http://egcomponents.kund.wa-data.se/orders/paging.asp?page=4
det funkar ej för mig att fixa en länk med detta --> < url:www.test.se >
<code><%
'## -- skapa connection object och öppna databasen --
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open ("Provider=Microsoft.Jet.OleDB.4.0; Data Source=" & Server.MapPath("db/orders.mdb"))
'"Provider=Microsoft.Jet.OleDB.4.0; Data Source=" & Server.MapPath("db/inlagg.mdb")
'## -- hur många poster ska visas per sida --
intPageSize = 6 '## -- 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 --
IF Len(Sort) = 0 Then
strSQL = "SELECT * FROM TFT ORDER BY Model asc"
Set objRS= objConn.execute(strSQL)
Else
Select Case Sort
Case 1
strSQL = "SELECT * FROM TFT ORDER BY Size DESC"
Set objRS= objConn.execute(strSQL)
Case 2
strSQL = "SELECT * FROM TFT ORDER BY Size asc"
Set objRS= objConn.execute(strSQL)
Case 3
strSQL = "SELECT * FROM TFT ORDER BY Resolution DESC"
Set objRS= objConn.execute(strSQL)
Case 4
strSQL = "SELECT * FROM TFT ORDER BY Resolution asc"
Set objRS= objConn.execute(strSQL)
Case 5
strSQL = "SELECT * FROM TFT ORDER BY Interface DESC"
Set objRS= objConn.execute(strSQL)
Case 6
strSQL = "SELECT * FROM TFT ORDER BY Interface asc"
Set objRS= objConn.execute(strSQL)
Case 9
strSQL = "SELECT * FROM TFT ORDER BY Model DESC"
Set objRS= objConn.execute(strSQL)
Case 900
strSQL = "SELECT * FROM TFT ORDER BY Model asc"
Set objRS= objConn.execute(strSQL)
Case 10
strSQL = "SELECT * FROM TFT ORDER BY Brightness DESC"
Set objRS= objConn.execute(strSQL)
Case 11
strSQL = "SELECT * FROM TFT ORDER BY Brightness asc"
Set objRS= objConn.execute(strSQL)
End Select
'strSQL = "SELECT * FROM TFT ORDER BY CustEstPortDate"
'Set objRS= objConn.execute(strSQL)
End IF
%>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
<link href="css/admin.css" rel="stylesheet" type="text/css">
<table width="90%" border="0" cellpadding="0" cellspacing="0" class="ram"">
<tr align="left" valign="middle" bgcolor="#333333" class="normaltxt">
<td width="28" height="20"><font color="#FFFFFF"> Bild</font></td>
<td width="40" height="20"><font color="#FFFFFF">Model </font></td>
<td width="103" height="20"><font color="#FFFFFF"></font></td>
<td width="30" height="20"><font color="#FFFFFF">Size</font></td>
<td width="91" height="20"> <font color="#FFFFFF"></font></td>
<td width="66" height="20"><font color="#FFFFFF">Resolution</font></td>
<td width="66" height="20"> <font color="#FFFFFF"></font></td>
<td width="66" height="20"><font color="#FFFFFF">Brightness</font></td>
<td width="66" height="20"> <font color="#FFFFFF"></font></td>
<td width="57" height="20"><font color="#FFFFFF">Interface</font></td>
<td width="79" height="20"> <font color="#FFFFFF"></font></td>
</tr>
<%
While NOT objRS.EOF
If Eval(icount\2 = icount/2) Then
color = "#ecece4"
ELSE
color = "#fdfdfc"
END IF
%>
<TR align="left" valign="middle">
<td width="28" align="center" bgcolor="<%= color %>">')" border="0">" width="16" height="16" hspace="5" border="0"')"> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt">"> <%= objRS("Model") %> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Size") %> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Resolution") %> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Brightness")%> </td>
<td colspan="2" bgcolor="<%= color %>" class="normaltxt"><%= objRS("Interface") %> </td>
</tr>
<%
icount=icount+1
objRS.MoveNext
Wend
objRS.Close
%>
</table>
<%
'## -- 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 With
'## -- 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="inc_pagingFunction.asp"-->
</code>