Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Come presentare l'Output

Suggerimenti su come impostare l'output delle informazioni.
Suggerimenti su come impostare l'output delle informazioni.
Link copiato negli appunti

Questa lezione sarà di riposo. Vogliamo solo finire la nostra applicazione per le news e sappiamo già cosa dobbiamo fare. Vediamo allora come formattare l'output:

Output
Prendi il recordset dalil database
Format e mostrala al cliente

Se modifichiamo il nostro file check_connection.asp esso dovrebbe già fare tutto. Cambiamo la query e basta.

Ma adesso mi accorgo che questa lezione non è un riposo poiché abbiamo a che fare con delle date ;o(
Beh, tanto vale che risolviamo il problema.

Se vogliamo che il nostro programmino di News sia utile bisogna che facciamo vedere solo le News che si riferiscono alla data corrente quindi la nostra query deve tener conto forzatamente della data e
dovrebbe diventare

select * from tbl_news where data_morto < oggi

In genere il formato della data dipende da come il server è stato configurato e non sempre noi abbiamo controllo del server. Diciamo che il tuo sito è su un server a Bologna e tutto funziona perfettamente. Domani invece lo muovi su un server a Seattle (USA) perché ti costa la metà, funzionerà tutto bene anche lì? 

Io credo di no. Il server americano di sicuro salva la data come mese/giorno/anno mentre a Bologna tu adoperavi giorno/mese/anno. Se, per esempio, si vuole inserire un comando del tipo:

se 
02/03/01 è diverso da 03/02/01 
allora cambia la data

a Bologna sarà vero ma a Seattle non lo sarà più anche se la data è la stessa. Come facciamo a risolvere questi problemi?

Non è poi così difficile è solo una seccatura. Prova un po' questo:

<%
Option Explicit
dim oggi,x
oggi = date()
response.write "oggi = " & oggi & "<br>"
x = split(oggi, "/")
response.write "x(0) = " & x(0) & "<br>"
response.write "x(1) = " & x(1) & "<br>"
response.write "x(2) = " & x(2) & "<br>"
%>

Con la funzione Split riusciamo a separare i tre campi della data. Una volta che li abbiamo così, possiamo rimetterli a posto come vogliamo noi

<%
data_Bologna = x(0) & "/" & x(1) & "/" & x(2)
data_Seattle = x(1) & "/" & x(0) & "/" & x(2)
%>

Allora adesso che abbiamo risolto il problema della data, torniamo al nostro output per il programma News.

Prendi il vecchio check_connection.asp è chiamalo news_out.asp. L'unica cosa da fare qui è cambiare:

Sub Guarda_Recordset(objRs)

così che si presenta un po' meglio.

Prima però mettiamo un altro campo nel database così che possiamo mandare i nostri clienti direttamente ad un'altra pagina dove la news viene mostrata per intero o ad un altro sito dove ci sono informazioni più approfondite.

Naturalmente bisogna anche cambiare l'input così che possiamo inserire questo URL nel database.
Ora la nostra tbl_news ha un campo chiamato url e questi comandi vanno nel nostro
news.inc:

<tr>
<td nowrap>URL</td>
<td valign="top"><INPUT NAME="url" TYPE="TEXT" size="24" MAXLENGTH="100"></td>
</tr>

Allora adesso dobbiamo fare in modo che la pagina mostri il titolo e il sottotitolo di tutte le news che abbiamo con la data_morto > (maggiore) di oggi. Poi quando il cliente clicca sul titolo il testo deve apparire per intero.

Adesso la mia procedura è diventata:

<%
Sub Guarda_Recordset(objRs)
'--------------------------------------------------------
'Purpose: mostra un format recordset dalla mia database
'Date: 28 March 2001
'Commenti:
'--------------------------------------------------------
dim titolo, sottotitolo, test, url 
'vendemmia la form
titolo = objRs("titolo")
sottotitolo = objRs("sottotitolo")
url = objRs("url")
Do while NOT objRs.EOF
'tanto per cambiare possiamo usare HTML puro
%> 
<table width="80%" border="0" cellpadding="4" cellspacing="2">
<tr>
<td rowspan="2" width="5%" valign="top"><img src="news.gif" width="32" height="36" alt="" border="0"></td>
<td bgcolor="#8b4513" widrh="100%"><a href="<%=objRs("url")%>"><font size="+2" color="white"><%=titolo%></font></a></td> 
</tr>
<tr>
<td bgcolor="#b8860b"><font size="+1" color="white"><%=sottotitolo%></td>
</tr>
</table>
<%
objRs.Movenext
Loop
End sub
%>

Come vedi puoi formattare l'output come vuoi e come hai sempre fatto. 

L'unica linea che non abbiamo commentato è quella dell'URL

<a href="<%=objRs("url")%>"><%=titolo%></a>

Si potrebbe anche fare molto meglio passando l'id della news nella Request.Querystring così:

<a href="<%=objRs("url")%>?id=<%=objRs("id")%><%=titolo%></a>

se questa sintassi ti sembra un po' confusa prova invece:

response.write "<a href='" & url & "?id=" & id "'>" & titolo & "</a>"

tutte e due danno lo stesso risultato.
Ormai è tutto semplice no?

Ti consigliamo anche