webForumDet fria alternativet

Printer utskrift av värden

ASPur ASP

4 svar · 269 visningar · startad av Thorsander

Medlem sedan aug. 2001746 inlägg
Frågan#1

Hej!

Hade tänkt att implementera en funktion där man som besökare kan skriva ut (printa) en sammanställning av statistik.

På sidan visas information om en ishockey spelare (personuppgifter och spelarens statistik)...
När man klickar på en knapp >skriv ut< så ska man helt enkelt få en utskrift av den aktuella spelarens värden.

Hur gör jag detta!?

All data som jag visar på sidan hämtas från en databas så jag har alltså variabler innehållande värdena som skall skrivas ut.

Medlem sedan nov. 20017 144 inlägg
#2

Det jag använder för sådana utskrifter är response.header
Det tycker jag är mycket smidigt. Alltså när du klickar på att skriva ut en viss spelare så får du upp en "ladda ner ruta" sedan så spars denna sida på datorn som i sin tur kan skrivas ut ifrån word.

Så här ser min "artikelnerladdare" ut, den går ju att göra om. Principen är ju att göra en "vanlig" sida med dina spelare fast du sätter in detta:

Response.ContentType = "application/vnd.ms-word"
Response.AddHeader "content-disposition", "attachment; filename=ArtiklarWord_"& u_log &".doc"

 <%

u_log=request.querystring("u_log")

accessdb="articles" 
cn="driver={Microsoft Access Driver (*.mdb)};"
cn=cn & "dbq=" & server.mappath(accessdb)
Set rs = Server.CreateObject("ADODB.Recordset")
set databas = server.createobject("adodb.connection")
databas.open cn
if u_log <>"Alla" then
sql="select * from articles where log ="&u_log
SQL2= "UPDATE articles SET klick = klick + 1 WHERE log ="&u_log
else
sql="select * from articles order by date DESC"
SQL2= "UPDATE articles SET klick = klick + 1"
end if
databas.Execute SQL2,,128
databas.close
set databas = nothing
rs.Open sql, cn

info="Artikel Id: "& u_log

Response.ContentType = "application/vnd.ms-word"
Response.AddHeader "content-disposition", "attachment; filename=ArtiklarWord_"& u_log &".doc" 

If rs.BOF then
Response.write "<font face='tahoma,verdana,arial' color='#993333' size='2'>"&"<b>Ingen ny aktivitet inlagd." &"</font></B>"
Else
end if
%>
<p><font face="Tahoma, Verdana, Georgia, Arial" size="4"><b>Artiklar/Ins&auml;ndare</b></font><font face="Tahoma, Verdana, Georgia, Arial"><br>
  <font size="2"><b><%=info%> fr.o.m <%=date()%> </b></font><br>
  </font><br>
  -----------------------------------------------------------------<br>
</p>
<table width="60%" border="0" cellspacing="0" cellpadding="0">
  <%

if not rs.BOF then rs.movefirst
  while not rs.EOF
    x = rs("body")
Set objRe = New regExp
objRe.IgnoreCase = True
objRe.Global = True

If x <> "" Then 
objRe.Pattern = "<[^>]*>" 
x = objRe.Replace(x," ")
End if%>
   <tr>
    <td height="147"> <b><font face="Tahoma, Verdana, Georgia, Arial" size="3"><%Response.write rs("title")%>  </font></b><font face="Tahoma, Verdana, Georgia, Arial" size="2"> <%=rs("Date")%><br>
   Antal nerladdningar: <%=rs("Klick")%>
      <br>   <b>Infört av: </b><%=rs("author")%><br><br>
      <%=replace(x, vbCrLf, "<br>")%><br>
	  <br></font>
</td>
  </tr>

                 
<%
rs.movenext
  wend

rs.close
set rs = nothing

%>
</table><br><br>

Lycka till

Medlem sedan mars 20025 907 inlägg
#3

Du kan ju lösa det med JavaScript!

<SCRIPT LANGUAGE="JavaScript">
<!--This is one of many scripts which are available at:     *---
//--http://www.JavaScript.nu/javascript                     *---
//--This script is FREE, but you MUST let these lines       *---
//--remain if you use this script.                          *---

function printa()
{
if (navigator.appName == "Netscape")
{
window.print();
}
else
{
document.body.insertAdjacentHTML("beforeEnd", "<object id='PrHandle' width=0 height=0 classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>");
PrHandle.ExecWB(6,2);
}
}
//-->
</SCRIPT>

OBS. Oprövad kod!

Medlem sedan aug. 2001746 inlägg
#4

Fint!
Jag tror jag håller mig till Javascriptet.
Men tack båda två!

Medlem sedan mars 20025 907 inlägg
#5

Taskigt bara att jag glömde en del av koden. Här kommer hela:
mellan <head> och </head>

<SCRIPT LANGUAGE="JavaScript">
<!--This is one of many scripts which are available at:     *---
//--http://www.JavaScript.nu/javascript                     *---
//--This script is FREE, but you MUST let these lines       *---
//--remain if you use this script.                          *---

function printa()
{
if (navigator.appName == "Netscape")
{
window.print();
}
else
{
document.body.insertAdjacentHTML("beforeEnd", "<object id='PrHandle' width=0 height=0 classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>");
PrHandle.ExecWB(6,2);
}
}
//-->
</SCRIPT>

Utskriftslänken

<A HREF="javascript:printa();">Skriv ut denna sida</A>

lr om du föredrar en utskriftsknapp

<FORM><INPUT TYPE="button" VALUE="Skriv ut denna sida" onClick="printa();"></FORM>
126 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)