Ciao a tutti ho uno script molto semplice fatto in asp per la visualizzazione di news e articoli, composto da una pagina per la visualizzazione dell'articolo e una pagina di elenco articoli con paginazione.

Vorrei mettere tutte e due le pagine in una e visualizzare quindi l'articolo per intero da una parte e l'elenco delle news dall'altra, solo che vorrei conservare la funzione di paginazione.

Vi chiedo un aiutino, se la cosa nn è troppo complessa.
Un esempio di come dovrebbe funzionare è questo qui

Premetto che la funzione di paginazione è già presente nella pagina che elenca le news e che estrae le news che contengono solo una specifica parola nella tabella specificata(funzione che vorrei mantenere) link: qui l'articolo intero viene visualizzato in una seconda pagina.

Il problema è che non so come specificare il key dell'articolo quando l'utente sfoglia l'elenco degli articoli, spero si sia capito

Il codice della pag che elenca le news è:

codice:
<% 'no security checking %> <%
'****************************************************************************************
'**  Copyright Notice
'**
'**  Script originale - www.t-dreams.com by Mohamad Al-Karbi
'**  Modificato da Asunis Daniele - www.a.com
'**
'**  All copyright notices must remain intacked in the scripts
'****************************************************************************************
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.CacheControl = "no-cache"
%>

<% 
displayRecs = 4
recRange = 4
%> <%
' Get table name
tablename = "[accouncements]"
dbwhere = ""
a_search = ""
b_search = ""
%> <%
' Get search criteria for basic search
pSearch = Request.QueryString("psearch")
If pSearch <> "" Then
	pSearch = replace(pSearch,"'","''")
	pSearch = replace(pSearch,"[","[[]")
	b_search = b_search & "[Title] LIKE '%" & pSearch & "%' OR "
	b_search = b_search & "[SmallNotes] LIKE '%" & pSearch & "%' OR "
	b_search = b_search & "[DetailedNotes] LIKE '%" & pSearch & "%' OR "
	b_search = b_search & "[categoria] LIKE '%" & pSearch & "%' OR "

End If
If len(b_search) > 4 Then
	b_search = mid(b_search,1,len(b_search)-4)
	b_search = "(" & b_search & ")"
End If
%> <%
'Build search criteria
If a_search <> "" Then
	dbwhere = dbwhere &  a_search 'advance search
ElseIf b_search <> "" Then
	dbwhere = dbwhere & b_search 'basic search
End If

'Save search criteria
If dbwhere <> "" Then
	Session("tablename") = tablename
	Session("dbwhere") = dbwhere
	'reset start record counter
	startRec = 1
	Session("accouncements_REC") = startRec
Else
	If tablename = Session("tablename") Then
		dbwhere = Session("dbwhere")
	Else
		'reset search criteria
		dbwhere = ""
		Session("dbwhere") = dbwhere
	End If
End If

'Get clear search cmd
If Request.QueryString("cmd").Count > 0 then
	cmd=Request.QueryString("cmd")
	If ucase(cmd) = "RESET" Then
		'reset search criteria
		dbwhere = ""
		Session("dbwhere") = dbwhere
	End If
End If

%> <%
' Load Default Order
DefaultOrder = "date"
DefaultOrderType = "DESC"

' Check for an Order parameter
OrderBy = ""
If Request.QueryString("order").Count > 0 Then
	OrderBy = Request.QueryString("order")
	' Check if an ASC/DESC toggle is required
	If Session("accouncements_OB") = OrderBy Then
		If Session("accouncements_OT") = "ASC" Then
			Session("accouncements_OT") = "DESC"
		Else
			Session("accouncements_OT") = "ASC"
		End if
	Else
		Session("accouncements_OT") = "ASC"
	End If
	Session("accouncements_OB") = OrderBy
	Session("accouncements_REC") = 1
Else
	OrderBy = Session("accouncements_OB")
	if OrderBy = "" then
		OrderBy = DefaultOrder
		Session("accouncements_OB") = OrderBy
		Session("accouncements_OT") = DefaultOrderType
	End If
End If

' Check for a START parameter
If Request.QueryString("start").Count > 0 Then
	startRec = Request.QueryString("start")
	Session("accouncements_REC") = startRec
Else
	startRec = Session("accouncements_REC")
	if not isnumeric(startRec) or startRec = "" then
		'reset start record counter
		startRec = 1
		Session("accouncements_REC") = startRec
	End If
End If

' Open Connection to the database
set conn = Server.CreateObject("ADODB.Connection")
conn.Open xDb_Conn_Str

' Build Query
strsql = "select * from [accouncements1]"

If dbwhere <> "" Then
	strsql = strsql & " WHERE " & dbwhere

End If

if OrderBy <> "" then 
		strsql = strsql & " ORDER BY [" & OrderBy & "] " & Session("accouncements_OT")
end if	

'response.write strsql

set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn, 1, 2 
totalRecs = rs.RecordCount
%>
<HTML>

<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<META NAME="AUTHOR" CONTENT="DANIELE ASUNIS danieleasunis.com">
<META NAME="description" CONTENT="WWW.DANIELEASUNIS.COM - ARTE - DESIGN - SPIRITUALITA' - ATTUALITA' - SHOPPING - COMMUNITY - LIFESTYLE">
<TITLE>ASUNIS&amp;CO - A DESIGN FOR LIFE</TITLE>
<META NAME="keywords" CONTENT="ARTE, DESIGN, SPIRITUALITA', ATTUALITA', SHOPPING, COMMUNITY, LIFESTYLE">
<LINK REL="stylesheet" TYPE="text/css" HREF="../sadhana/asunis_global.css">
<LINK REL="stylesheet" TYPE="text/css" HREF="../sadhana/asunis_menu.css">
<LINK REL="shortcut icon" HREF="http://www.asunis.com/favicon.ico">
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="../sadhana/slideshow.js">
</SCRIPT>
</HEAD>

<BODY TOPMARGIN="7">

<DIV ALIGN="center">
  <CENTER>
  <TABLE CELLPADDING="0" CELLSPACING="0" WIDTH="417">
    <TR>
      <TD WIDTH="426">
      </TD>
    </TR>
    <TR>
      <TD WIDTH="426" ALIGN="center" VALIGN="top">
      <DIV ALIGN="center">
        <CENTER>
        <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="316">
          <TR>
            <TD WIDTH="373">
            <TABLE CLASS="nav" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
              <TR>
                <TD WIDTH="100%">
                <P ALIGN="right">
                 <%
if totalRecs > 0 then

	' Find out if there should be Backward or Forward Buttons on the table.
	If 	startRec = 1 Then
		isPrev = False
	Else
		isPrev = True
		PrevStart = startRec - displayRecs
		If PrevStart < 1 Then PrevStart = 1 %> 
                <A CLASS="def" HREF="definitiva.asp?start=<%=PrevStart%>&slink1=si">
                «</A> - <%
	End If
	
	' Display Page numbers
	If (isPrev OR (NOT rs.EOF)) Then
		If (NOT isPrev) Then Response.Write ""
		x = 1
		y = 1
	
		dx1 = ((startRec-1)\(displayRecs*recRange))*displayRecs*recRange+1
		dy1 = ((startRec-1)\(displayRecs*recRange))*recRange+1
		If (dx1+displayRecs*recRange-1) > totalRecs then
			dx2 = (totalRecs\displayRecs)*displayRecs+1
			dy2 = (totalRecs\displayRecs)+1
		Else
			dx2 = dx1+displayRecs*recRange-1
			dy2 = dy1+recRange-1
		End If
	
		While x <= totalrecs
			If x >= dx1 and x <= dx2 Then
				If Clng(startRec) = Clng(x) Then %> 
                <FONT FACE="Verdana" STYLE="font-size: 11px">[<%=y%>]</FONT>
                <% 			Else %> 
                <%=y%>
                <%			End If
				x = x + displayRecs
				y = y + 1
			elseif x >= (dx1-displayRecs*recRange) and x <= (dx2+displayRecs*recRange) then
				if x+recRange*displayRecs < totalRecs then %> 
                <%=y%>
                <%			else
					ny=(totalRecs-1)\displayRecs+1
						if ny = y then %> 
                <%=y%>
                <%					else %> 
                <%=y%>
                <%					end if
				end if
				x=x+recRange*displayRecs
				y=y+recRange
			else
				x=x+recRange*displayRecs
				y=y+recRange
			End If
		Wend
	End If
	
	' Next link
	If NOT rs.EOF Then
		NextStart = startRec + displayRecs
		isMore = True %>-
                <A CLASS="def" HREF="definitiva.asp?start=<%=NextStart%>&slink1=si">
                »</A> <% Else
		isMore = False
	End If %> 

                </P>
                </TD>
              </TR>
              <% Else %>
              <TR>
                <TD STYLE="border: 0px solid #FFFFFF" ALIGN="right">
                [img]../images/grafica/banner_admin/no_results.gif[/img]
                <% End If %> </TD>
              </TR>
            </TABLE>
            <TABLE CLASS="anteprima" CELLPADDING="0" CELLSPACING="0" WIDTH="99%">
              <%
'Avoid starting record > total records
if clng(startRec) > clng(totalRecs) then
	startRec = totalRecs
end if
'Set the last record to display
stopRec = startRec + displayRecs - 1

'Move to first record directly for performance reason
recCount = startRec - 1
if not rs.eof then
	rs.movefirst
	rs.move startRec - 1
end if

recActual = 0
Do While (NOT rs.EOF) AND (recCount < stopRec)
	recCount = recCount + 1
	If Clng(recCount) >= Clng(startRec) Then 
		recActual = recActual + 1 %> <%
	'set row color
	bgcolor="#FFFFFF"
%> <%	
	' Display alternate color for rows
	If recCount mod 2 <> 0 Then
		bgcolor="#Ffffff"
	End If
%> <%
    x_Immagine = rs("Immagine")
	x_Title = rs("Title")
	x_SmallNotes = rs("SmallNotes")
	x_date = rs("date")
%>
              <TR>
                <TD WIDTH="100%">
                [img]../images/grafica/struttura/spacer.gif[/img]</TD>
              </TR>
              <TR>
                <TD CLASS="anteprima" WIDTH="100%" HEIGHT="90">
                [img]<% response.write x_Immagine %>[/img]
                <H2>
                <A STYLE="font-family: Verdana; font-size: 11px; color: #000000; text-decoration: none; font-weight: bold" HREF="<% If not isnull(rs("ID")) Then response.write "asunis_start.asp?key=" & Server.URLEncode(rs("ID")) Else response.write "javascript:alert('Invalid Record! Key is null.');"%>&slink=si">
                <% response.write x_Title %></A></H2>
                <P ALIGN="justify">
                <A STYLE="font-family: Verdana; font-size: 10px; color: #666666; text-decoration: none" HREF="<% If not isnull(rs("ID")) Then response.write "asunis_start.asp?key=" & Server.URLEncode(rs("ID")) Else response.write "javascript:alert('Invalid Record! Key is null.');"%>&slink=si">
                <% response.write x_SmallNotes %></A></P>
                </TD>
              </TR>
              <%end if
rs.MoveNext
Loop 
%>
            </TABLE>
            <TABLE CELLPADDING="0" CELLSPACING="0" HEIGHT="15" WIDTH="100%" STYLE="border-collapse: collapse" BORDERCOLOR="#111111">
              <TR>
                <TD WIDTH="100%" ALIGN="center">
                [img]../images/grafica/struttura/spacer.gif[/img]</TD>
              </TR>
              <TR>
                <TD WIDTH="100%" ALIGN="center" STYLE="border-left-width: 1; border-right-width: 1; border-top: 2px solid #dfd9d9; border-bottom-width: 1">
                [img]../images/grafica/struttura/spacer.gif[/img]</TD>
              </TR>
              <TR>
                <TD WIDTH="100%" ALIGN="center">
                </TD>
              </TR>
            </TABLE>
            </TD>
            </TD>
          </TR>
        </TABLE>
        </CENTER>
      </DIV>
      </TD>
    </TR>
    <TR>
      <TD WIDTH="426" ALIGN="center" VALIGN="top"></TD>
    </TR>
  </TABLE>
  </CENTER>
</DIV>
</CENTER>
</FORM>
</BODY>

</HTML>
mentre il codice della pag che visualizza l'articolo è nel prossimo post...



Ringrazio chi riesce e/o può darmi una mano!