Publicidade
|
|
Botão de imprimir apenas a noticias do site Como fazer???
#1
Posted 31 March 2004 - 03:49 PM
Seguinte, eu preciso da ajuda de voces no meu sistema de notícias on-line. Eu gostaria que voces me dessem a dica de como eu implementar o código para que auando a pessoa clicar em imprimir noticia, abrir apenas a noticia que esta na pagina e eu poder fazer a impressão apenas dela.
Segue o link do site do Portal Bonito, nele tem o exemplo de como eu quero.
Qualquer dúvida, me comuniquem.
T+
abraços
Paulo
#3
Posted 31 March 2004 - 04:50 PM
de uma olhada no site onde trabalho CLIQUE AQUI e que em seguida clique em qualquer noticia.
t+
abraços
#4
Posted 31 March 2004 - 05:12 PM
crie uma pag por ex. imprimir.asp, esta pag vai fazer uma consulta no banco e mostrar apenas a noticia e nela vc coloca uma função em JS pra imprimir
o link imprimir noticia da pag exibir.asp vc direciona pra pag imprimir.asp
#5
Posted 31 March 2004 - 05:13 PM
Faça assim, primeiro, você deve fazer um link para abrir uma página do tamanho desejado (popUp), onde você pode fazer uma função em JS msm utilizando o window.Open, se não souber como faz isso, é assim:
| QUOTE |
| <script language="JavaScript"> function abrir(URL) { var width = 600; var height = 450; var left = 5; var top = 5; window.open('URL','titulo', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=yes, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no'); } </script> |
Feito isso, você chama uma página que mostre na tela os dados puxados de um banco de dados, utilizando o querystring para mostrar a noticia desejada...
Sua extrutura vai ficar mais ou menos assim:
no link:
| QUOTE |
| <a href="javascript:abrir('http://www.noticias.com.br?idnoticia=<%=rs("idnoticia")%>')</a> |
E na página que irá imprimir, você faz mostrar a noticia a partir do id gerado na querystring, tipo:
| QUOTE |
id = request.querystring("idnoticia") SQL = SELECT * FROM noticias WHERE idnoticia = " & id & "" |
Pois assim, ele listará apenas a noticia desejada...
E ai, por ultimo, você faz um link onde quiser com a instrução para imprimir a página, que se não me engano é:
| QUOTE |
| <a href="javascript:self.print();">Imprimir Notícia</a> |
Acho que é isso que você quer, não/??
Qualquer coisa, poste ai!
Abraços!!
#6
Posted 31 March 2004 - 05:21 PM
daí qualquer dúvida irei postar novamente
abraços
Paulo
#8
Posted 31 March 2004 - 07:06 PM
t+
Paulo Cardoso
#9
Posted 31 March 2004 - 10:43 PM
Vamos supor que no seu banco de dados, você tenha o campo idnoticia, titulonoticia e noticia, então no link você coloca (PS: Ainda com a conexão aberta):
| HTML |
| <a href="javascript:abrir('imprimir.asp?id=<%RS("idnoticia")%>');">Imprima essa notícia!</a> |
E na página imprimir, você abre a conexão, e no SQL coloque:
| QUOTE |
<% id = Request.Querystring("id") AbreConexão SQL = SELECT * FROM suatabela WERE id = " & id & " ORDER BY idnoticia DESC" ...... Ai aqui você coloca os campos do banco, como titulo da notícia e a notícia... ...... <a href="javascript:self.print();">Imprimir</a> FechaConexão %> |
Entendeu???
Qualquer coisa pergunte ai!
Abraços!!!
#10
Posted 01 April 2004 - 04:03 PM
a hora que eu ponho este código <a href="javascript:abrir('imprimir.asp?id=<%RS("idnoticia")%>');">Imprima essa notícia!</a> na minha pagina exibe.asp e passo para o servidor, quando eu entro nela, ele gera este erro
Erro de tempo de execução do Microsoft VBScript error '800a000d'
Tipos incompatíveis: 'rs'
/exibe.asp, line 266
O que eu devo fazer???
abraços
#11
Posted 01 April 2004 - 04:29 PM
Caso não, deve fazer, pois ele á indispensável para puxar dados do db.
Se não souber como faz poste ai que eu explico!
Na página exibir.asp, você deve colocar o link (javascript:.. etc), antes da conexão com o banco de dados ser fechada... ok???
Se você não conseguir, coloca seu código da exibir.ap e da imprimir.asp para eu ver dai fica mais fácil de explicar, blz??
Abraços!!!
#12
Posted 01 April 2004 - 04:37 PM
exibir.asp
codigo acima da taga html
| CODE |
| <% ultimos = "5" 'numero de noticias na pagina ultimas.asp db = "noticias/admin/dados/farolbr" 'caminho pro db sem .mdb, NÀO MUDE %> <% Set Conexao = CreateObject("ADODB.CONNECTION") conStr ="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath(db) ConexaoAberta = FALSE Sub AbreConexao() if not ConexaoAberta then Conexao.Open ConStr ConexaoAberta = True end if end sub Sub FechaConexao() if ConexaoAberta then Conexao.close ConexaoAberta = False end if end sub %> |
codigo dentro da tag body
| CODE |
| <% AbreConexao id = request.querystring("id") SQL = "SELECT * FROM noticias where id_noticia = " & id & " ORDER BY id_noticia DESC" Set rs = Conexao.Execute(SQL) While not rs.EOF %> <font face="Verdana, Arial, Helvetica, sans-serif"><font face="Verdana, Arial, Helvetica, sans-serif"><%=rs("data_alt")%></font></font> <font size="2">- </font> </font><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=Rs("titulo")%><br> <br> <br> <br> <br> </font></strong><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=Rs("texto")%> <% rs.MoveNext Wend rs.close FechaConexao Set rs = nothing %> |
imprimir.asp
| CODE |
| <% ultimos = "5" 'numero de noticias na pagina ultimas.asp db = "noticias/admin/dados/farolbr" 'caminho pro db sem .mdb, NÀO MUDE %> <% Set Conexao = CreateObject("ADODB.CONNECTION") conStr ="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath(db) ConexaoAberta = FALSE Sub AbreConexao() if not ConexaoAberta then Conexao.Open ConStr ConexaoAberta = True end if end sub Sub FechaConexao() if ConexaoAberta then Conexao.close ConexaoAberta = False end if end sub %> <html> <head> <title>FAROLBR - Conheça o mundo em segundos, navegue !!!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="images/style.css" type="text/css"> <link rel="stylesheet" href="images/style2.CSS" type="text/css"> <script src="images/h.js"></SCRIPT> </head> <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <% id = Request.Querystring("id") AbreConexão SQL = SELECT * FROM noticias WERE id = " & id & " ORDER BY id_noticia DESC" ...... Ai aqui você coloca os campos do banco, como titulo da notícia e a notícia... ( aqui eu nao entendi o que por Rafael) ...... <a href="javascript:self.print();">Imprimir</a> FechaConexão %> </BODY> </HTML> |
veja se voce consegue entender, qualquer dúvida me pergunte.
abraços
#13
Posted 01 April 2004 - 04:39 PM
#14
Posted 01 April 2004 - 05:13 PM
Antes de mais nada, tem como você simplificar a conexão com o DB assim, você pega esse código:
| QUOTE |
| <% ultimos = "5" 'numero de noticias na pagina ultimas.asp db = "noticias/admin/dados/farolbr" 'caminho pro db sem .mdb, NÀO MUDE %> <% Set Conexao = CreateObject("ADODB.CONNECTION") conStr ="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath(db) ConexaoAberta = FALSE Sub AbreConexao() if not ConexaoAberta then Conexao.Open ConStr ConexaoAberta = True end if end sub Sub FechaConexao() if ConexaoAberta then Conexao.close ConexaoAberta = False end if end sub %> |
E salva como conexao.asp, por exemplo.
Ai, em todas as páginas que você usa conexão com o banco de dados, é só colocar antes de todo o código: <!--#include file="conexao.asp-->
E ai nas paginas que tiverem conexão vc s[o vai ter que colocar a parte:
<% AbreConexao
SQL = tal tal tal....
FechaConexao %>
Bom, mas vamos lá...
-------------------------------------------------------------------------
Sua página exibir.asp (Apenas o código entre as tags <body> e </body>):
| QUOTE |
<script language="JavaScript"> function abrir(URL) { var width = 600; var height = 450; var left = 5; var top = 5; window.open('URL','titulo', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=yes, toolbar=no, location=no, directories=no, menubar=no, resizable=yes, fullscreen=no'); } </script> <% AbreConexao id = request.querystring("id") SQL = "SELECT * FROM noticias where id_noticia = " & id & " ORDER BY id_noticia DESC" Set rs = Conexao.Execute(SQL) While not rs.EOF %> <font face="Verdana, Arial, Helvetica, sans-serif"> <%=rs("data_alt")%></font> <font size="2">- </font><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=Rs("titulo")%></font> <br><br><br><br><br> <font color="#000000" face="Verdana, Arial, Helvetica, sans-serif"><%=Rs("texto")%></font> <br><br> <a href="javascript:abrir('imprimir.asp?id=<%=RS("id_noticia")%>');">Clique aqui para imprimir essa notícia!</a> <% rs.MoveNext Wend rs.close FechaConexao Set rs = nothing %> |
Sua página imprimir.asp (Código completo):
| QUOTE |
<% ultimos = "5" 'numero de noticias na pagina ultimas.asp db = "noticias/admin/dados/farolbr" 'caminho pro db sem .mdb, NÀO MUDE %> <% Set Conexao = CreateObject("ADODB.CONNECTION") conStr ="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath(db) ConexaoAberta = FALSE Sub AbreConexao() if not ConexaoAberta then Conexao.Open ConStr ConexaoAberta = True end if end sub Sub FechaConexao() if ConexaoAberta then Conexao.close ConexaoAberta = False end if end sub %> <html> <head> <title>FAROLBR - Conheça o mundo em segundos, navegue !!!</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link rel="stylesheet" href="images/style.css" type="text/css"> <link rel="stylesheet" href="images/style2.css" type="text/css"> <script src="images/h.js"></SCRIPT> </head> <body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <% id = Request.Querystring("id") AbreConexão SQL = SELECT * FROM noticias WERE id_noticia = " & id & " ORDER BY id_noticia DESC" Set rs = Conexao.Execute(SQL) %> - (%=RS("data_alt") <%=RS("titulo")%><br><br> <p align="justify"><%=RS("texto")%></p><br> <a href="javascript:self.print();">Imprimir</a> <% FechaConexão %> </BODY> </HTML> |
Bom, é isso... você entendeu direitinho??
Ve se dá certo, qualquer coisa poste ai blz???
Abraços...
#15
Posted 01 April 2004 - 05:16 PM
abraços, vou tentar aqui, qualquer coisa eu grito pro ce, vlw!
Paulo
#16
Posted 01 April 2004 - 05:19 PM
| QUOTE (paulofbc @ 1/4/2004 16:04:16) |
| ehehehehe, vou tentar aqui rafael, se eu nao entender de novo nao vai querer me matar heim, ehehehe, kra é eu sou meio complicado para entender mesmo, mas voce esta me ajudando muito kra, eu agradeço voce desde já. abraços, vou tentar aqui, qualquer coisa eu grito pro ce, vlw! Paulo |
Cara fique a vontade...
Eu também aprendi muito com a ajuda do fórum e agora tenho o prazer de ensinar o pouco que sei... mas tenho muito... muittttooooo que aprender!!!
Abraços!!! qqer coisa grita!
#17
Posted 01 April 2004 - 05:33 PM
Faz o seguinte, entre neste endereço e veja o que acontece, na pagina de exibe ta tudo blz, mas quando clica em imprimir noticia a pagina de imprimir.asp em popup nao abre.
Porque será que deu este erro? foi de eu nao ter criado a pagina de conexao.asp?
abraços
#18
Posted 01 April 2004 - 05:38 PM
O erro não foi por causa disso não, aquilo foi um comentário a parte que eu fiz...
Mas qual página você quer que eu entre??? Põe o link ai hehehehe!!!
Dai eu vejo...
Pode ser sido erro meu na função JS...
Manda ae que eu vejo o link...
Abraços!
#20
Posted 01 April 2004 - 05:48 PM
pra vc ter uma ideia conte quantas pags tem vc tem q tem o codigo de conexão
depois imagine q vc mudou alguma configuração na sua conexão, então vc teria q alterar todas as suas pags
se vc estiver usando include vc altera apenas a paginas conexão.asp
isso tb vale para o lay out do site, vc pode inserir os menus em uma pag, o topo em outra
ai sim vc vai ver quanto tempo vc vai economizar
#21
Posted 01 April 2004 - 05:51 PM
| CODE |
| Erro de compilação do Microsoft VBScript error '800a0408' Caractere inválido /imprimir.asp, line 35 AbreConexão ---------^ |
o que sera que pode ser?
t+
abraços
#22
Posted 01 April 2004 - 05:53 PM
Isso é uma dica muito boa kra, eu sempre uso isso em menus e topos nos sites que desenvolvo, só que na programação eu nao tinha pensado nisso.
vlw
abraços
#23
Posted 01 April 2004 - 05:58 PM
Veja:
[QUOTE]<%
AbreConexão
FechaConexão[QUOTE]
Viu as partes em negrito? Tão com acento...
Na página imprimir.asp, retire o acento dessas duas funções (AbrirConexao e FecharConexao)... blz???
Tente isso...
PS:
No código em JS que te passei para abrir a pop Up, você não precisa alterar o window.open('URL','titulo',etc...)
Deixe como está, o que você tem que mudar é no link, tipo javascript:abrir('http://www.etc') mas eu já coloquei com o nome imprimir.asp... como você quer...
Tente isso acima sem acentos do AbreConexao e FechaConexao e fala ai o que deu, blz??
Abraços!!
PS: Veja o que o Junior falou, as includes são importantíssimas!
Abraços!
#24
Posted 01 April 2004 - 06:14 PM
ele gera este erro:
| CODE |
| Erro de compilação do Microsoft VBScript error '800a03ea' Erro de sintaxe /imprimir.asp, line 36 SQL = SELECT * FROM noticias WERE id_noticia = " & id & " ORDER BY id_noticia DESC" ------^ |
até +++
#25
Posted 01 April 2004 - 06:18 PM
Paulo... isso é mais um erro de digitação meu!!! hahaha...
Veja:
| QUOTE |
| SQL = SELECT * FROM noticias WERE id_noticia = " & id & " ORDER BY id_noticia DESC" |
O erro: WERE!
Troque por WHERE (com o 'H')...
Sua SQL ficaria:
| QUOTE |
| SQL = SELECT * FROM noticias WHERE id_noticia = " & id & " ORDER BY id_noticia DESC" |
Ok??
Ve ai no que dá!
Abraços!!!
#29
Posted 01 April 2004 - 06:39 PM
Mas você já colocou no ar???
Passa o linkdo site que você tava fazendo isso para eu ver, blz??
Abraços!!!
#30
Posted 01 April 2004 - 06:41 PM
voce tinha me passado o codigo assim
| CODE |
| =rs("data_alt") |
daí o codigo ficou assim
| CODE |
| SQL = "SELECT * FROM noticias WHERE id_noticia " & id & " ORDER BY id_noticia DESC" |
Agora ta blz, da uma entrada lá pra voce ver, mas so que deu um probleminha, se voce reparar, a noticia que eu quero imprimir nao é a mesma no link que eu cliquei, aparece uma outra noticia que nao esta dentro daquela categoria mais esta cadastrado no banco de dados.
Voce sabe o que devo fazer ?
valew
abraços
#31
Posted 01 April 2004 - 06:43 PM
pagina de noticias
abraços
#32
Posted 01 April 2004 - 06:46 PM
Vou ver esses códigos de novo e já passo o que consigo...
Abraços!
#33
Posted 01 April 2004 - 06:48 PM
enquanto isso eu vou tentar ver se eu acho o erro tambem.
té +
#34
Posted 01 April 2004 - 06:49 PM
Eu tava vendo novamente os códigos, ai como vi que na párina exibe.asp é utilizado uma request.Querysting("id"), acho que você pode fazer assim, muda o código da pádina exibir.asp, nessa parte:
| QUOTE |
| <br><br> <a href="javascript:abrir('imprimir.asp?id=<%=RS("id_noticia")%>');">Clique aqui para imprimir essa notícia!</a> |
e mude para isso:
| QUOTE |
| <br><br> <a href="javascript:abrir('imprimir.asp?id=<%=id%>');">Clique aqui para imprimir essa notícia!</a> |
Pois assim ele já utiliza a outra request.querystring, que é usada na conexão com o db...
Tenta ai e ve o que dá... se não der, ai eu tento outra forma blz???
Abraços!!!
#36
Posted 01 April 2004 - 06:55 PM
repare pra voce ver na pagina exibe.asp uma coisa, passe o mouse em cima do texto Clique aqui para imprimir essa notícia! veja que na barra de status ele esta mostrando id=444 que é relacionado a esta noticia da marcela do big brother
até mais
#38
Posted 01 April 2004 - 07:08 PM
Tá estranho isso!!!! hehehe...
Bom, tenta sem fazer o pop up, só para ver no que dá!!!
Faz assim, na parte do <a href="javascript:abrir('imprimir.asp?id=<%=id%>')">Imprimir</a>,
muda para:
<a href="imprimir.asp?id=<%=id%>" target="_blank">Imprimir</a>
Faz isso, só para ver se acontece a mesma coisa, tipo se o JS não tá interferindo em nada...
E ai me fala o que aconteceu...
Se eu não responser até as 7 horas é porque fui pra facul, mas ai quando for umas 10 e meia eu entro de novo blz??
Abraços!
#39
Posted 01 April 2004 - 07:11 PM
Olhe:
| QUOTE |
| SQL = SELECT * FROM noticias WERE id_noticia = " & id & " ORDER BY id_noticia DESC" |
tá faltando uma aspas antes do SELECT, então mude essa parte do código a página imrpimir.asp para isso:
| QUOTE |
| SQL = "SELECT * FROM noticias WERE id_noticia = " & id & " ORDER BY id_noticia DESC" |
blz??
E fala ai no que deu!
Abraços!
#40
Posted 01 April 2004 - 07:11 PM
mais blz então
abraços, até mais
Share this topic:
Similar Topics
| Topic | Forum | Started By | Stats | Last Post Info | |
|---|---|---|---|---|---|
|
Governo chinês fecha site de debates políticos
Terra Tecnologia |
Notícias |
TiTi Celestino
|
|
|
|
Email no CF
Como enviar resposte automatica |
ColdFusion |
Henrique Bizarria
|
|
|
|
XML está chamando apenas um nó
|
Flash & ActionScript |
raffademello
|
|
|
|
ESPIRAL
Como eu faço um espiral no Fireworks? |
Tutoriais e Artigos |
bibo
|
|
|
|
icone para programas
Como fazer! |
Tutoriais e Artigos |
fokixx
|
|
|
|
Site vai oferecer mais de 25 milhões de músicas de graça
|
Notícias |
Notícias
|
|
|
|
best online discount sites
online sales and marketing courses |
Eventos | Guest_etewolviciolf_* |
|
|
|
Rollover com imagem (botão ñ)!
Ajudinha por favor!!!! |
Fireworks |
Alexandre Baldini
|
|
Publicidade
|
|

Help













