Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vitorlouzada

[Resolvido] Selecionar na busca e aparecer em outra página

Recommended Posts

Boa Noite,

 

Estou precisando de uma ajuda de vocês.

 

Meu problema é o seguinte:

 

Estou desenvolvendo um sistema para emissão de carteirinhas, quando eu clico sobre a impressora que coloquei na consulta de um cliente especifico, abre uma janela com a carterinha dele para ser impressa

 

Para que isso ocorra utilizei uma querystring, ao clicar na impressora o script envia o id daquele cliente para aoutra página, que por sua vez, através de um select busca os dados pela id e preenche a carteirinha para ser impressa.

 

Agora vem o problema, meu cliente não quer imprimir uma carteirinha por vez, ele gostaria ao inves de clicar na impressora e gerar a página com 1 carteirinha, ele gostaria de poder selecionar 5 pessoas na consulta e e gerar 5 carteirinhas para impressão na mesma página.

 

Alguem tem idéia de como eu posso fazer isso? rsrsrs

 

Pensei em colocar a tabela de consulta dentro de um form, e colocar um checkbox ( o value seria a id de cada um) em cada linha da consulta, assim ele selecionaria os usuários a serem "impressos" e o form enviaria as informações para a página de impressão e geraria as 5 carteirinhas com os dados dos 5 usuários selecionados.

 

Mas como recuperar os dados de 5 carterinhas ? será que isso daria certo?

 

Aguardo uma ajuda de vocês

Compartilhar este post


Link para o post
Compartilhar em outros sites

você vai mandar os values do checkBox para a outra pagina ?

se for assim da pra pega cada id da queryString e fazer um for com cada um montando as carteirinhas.

 

Seria mais ou menos isso que você quer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hm

Ai cara é questao de ver o melhor jeito, agora pensando aqui rapidamente podias manda cada id, assim .asp?id1=1&id2=2 e assim vai indo depois separa os ids e faz o for. Essa não é a melhor solução eu acredito, mas quem sabe já pode te da uma LUZ de como fazer, certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza me deu uma grande luz o caminho é esse..

 

Pesquisei algumas coisas aqui, você já ouviu falar de QueryString Collection ?

 

Tipo.. usando esse método, o a querystring gera de forma continua os campos selecionados...

 

por exemplo:

 

<%
for i=1 to Request.QueryString("impressao").Count 
Response.Write (Request.QueryString("impressao") (i) "<br>")
Next
  %>

Se os campos selecionados, impressão foram os 1,2 e 3

 

Ele vai me retornar os resultados:

1

2

3

e não mais 1,2,3

 

Agora vem a questão, como fazer com que no select ele tb pegue os valores separados??

 

Eu consegui fazer como ele peue até 2 valores e não mais que isso:

 

<%
for i=1 to Request.QueryString("impressao").Count 
  
	Set objCon = Server.CreateObject("ADODB.Connection")
	objCon.Open strCon
	Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.CursorLocation = 2
	objRS.CursorType = 0
	objRS.LockType = 3
	strQ = "SELECT * FROM matricula WHERE ID='"&Request.QueryString('impressao")(i)&"' OR ID='"&Request.QueryString('impressao")(i)&"'OR ID='"&Request.QueryString('impressao")(i)&"' "
	objRS.Open strQ, objCon, , , &H0001

next
%>

Dois valores ele retorna, só que mais que dois não... e eu preciso que retornasse 5.

 

E ai.. consegue me dar alguma luz?? rsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

você poderia fazer este select dentro do for não? e ali dentro montar as carteirinhas como se fosse popular campos de uma tabela.

 

o select você pode usar tbm a clausula IN do SQL

 

select * from alunos where codigo in(126,125)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seriam impressas mtas carteirinhas? ou só 5 mesmo? Em vez de for pra fica melhor você usa o IN do SQL e faz um loop com while populando os campos da sua carteirinha que sera impressão. mais ou menos assim

set objBuscaDados=server.CreateObject("ADODB.RecordSet")
		strSql = "select"&_
				 " codigo"&_
				 " ,nome"&_
				 " ,serie"&_
				 " ,dta_nasc"&_
				 " from"&_
				 " alunos"&_
				 " where codigo in( respectivos id  ) "
		
		 objBuscaDados.open strSql,conexao,3,3

'agora verifica se nao chegou ao fim né
if not objBuscaDados.eof then
	  do while objBuscaDados.eof	
			   'popula as carteirinhas
		 loop
end if

 

 

Acho que assim seria mais facil

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.