giovedì 30 ottobre 2008

[ASP] [SQL] - Visualizza i titoli dell ultime n notizie

Visualizzazione dei titoli di notizie precedenti.
L'ultima notizia sarà già visualizzata per intero (non presente in questo codice). Sotto quest'ultima notizia saranno visualizzati i titoli di n notizie passate nel formato xx/xx/xxxx (data) - Titolo Notizia.
Cliccando sul titolo si aprirà una popup con la visualizzazione della notizia per intero.
Il codice esclude il titolo dell'ultima notizia che è già visualizzata per intero.
NB.: l'href richiama una funzione Javascript non presente in questo codice ma di cui ho postato il codice precedentemente.

<%
'Connessioni al DB
CNN=Application("CNN")
set conn=Server.CreateObject("ADODB.Connection")
conn.open CNN

set rs=server.createobject("ADODB.recordset")

'seleziono il massimo id per escludere l'ultima notizia dalla visualizzazione
qry="SELECT MAX (id) as max_id FROM nome_tab WHERE parametri ;"
rs.Open qry,conn
id = rs.fields ("max_id")

Const CONST_DISPLAY = 3 'NUMERO DI NOTIZIE VISUALIZZATE
Dim i
Set rsQuery = Conn.Execute("SELECT * FROM nome_tabella WHERE parametro='parametro' AND (id < "&id&") ORDER BY id DESC")

'Se non ci sono notizie...
If rsQuery.EOF Then
%>
Dati in Aggiornamento...
<%
End If
'Altrimenti...
i = 1
While Not rsQuery.EOF And i <= CONST_DISPLAY
%>
<a href="javascript:openwindow('nome_popup.asp?id=<%=rsQUERY("id")%>','xxx<%=rsQUERY("id")%>',730,580,'yes' ,'no','1',5,4)">

'LCASE = Scrive TUTTO in minuscolo
'LEFT = TAGLIA i caratteri dopo l'n-esimo (in questo caso 29) e aggiunge "..."
<%= rsQuery("campo_data") %> - <% if (rsQuery("titolo")) > left (rsQuery("titolo"),65) then
Response.Write lcase(Left(rsQuery("titolo"),29)+"...")
else
Response.write lcase(replace(rsQuery("titolo")& "", VbCrLf, "<br/>"))
end if
%>
</a><br>
<%
rsQuery.MoveNext : i = i + 1
Wend

'Chiudo connessioni
rsQuery.close
set rsQuery =nothing
rs.close
set rs = nothing
%>

Nessun commento: