Jump to content


Photo

Exibir Resultado De Busca Em Nova Página


  • Faça o login para participar
8 replies to this topic

#1 renatagramos

renatagramos

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 06/04/2011, 12:07

Pessoal,

Estou com um problema aparentemente simples, mas eu não sei resolver :(

Tenho um formulário que consulta o banco mysql e exibe um relatório. Isso está funcionando perfeito!

Acontece que quero que esse relatório seja exibido em uma nova página FORMATADA, não um simples "target=_blank". Consegui fazer a nova página abrir, mas o resultado não aparece nela e sim na página atual!

O formulário é esse:

<form id="sql_consulta_campo" method="get" name="sql_consulta_campo" action="sql_consulta_campo.php">
<table align="center" width="600" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="180px" valign="middle" align="left"><font face="arial" size="1">ARGUMENTO:</font></td>
<td width="250px" align="left"><input name="cli_razao" type="text" id="cli_razao" size="40" maxlength="30"></td>
<td width="220px" align="right">
<button name="consultar" id="consultar" type="submit" align="right" onClick="window.showModalDialog('sql_consulta_campo.php?id=$table','Relatório', 'width=600,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');"/>
</td>
</tr>
</table>
</form>

E a busca é essa:

<?php
include "../../config.php"; //inclui o arquivo de conexão

session_start(); // começa a session
 
if(!isset($_SESSION["login"])){
echo "ACESSO NEGADO";
}else{
 
$login = $_SESSION["login"];
$sql = mysql_query("SELECT * FROM login WHERE login='$login'") or die("O nome de Utilizador ou Senha está incorrecto. MySQL erro:".mysql_error()); // vê se o username existe ou não
$result = mysql_fetch_array($sql); // põem as informações da database numa array
?>

<?php
if (isset($_GET['consultar'])) //faz com que o que está dentro do if, só seja executado se o usuário clicar em 'Consultar'
{

$razao = trim($_GET['cli_razao']);
if ($razao == ""){
echo "<p align=\"center\"><font face=arial size=2 color=#ff0000>Sem argumentos para a consulta!</font>";
	  }
	  else {
//Consulta ao Mysql
$qry = mysql_query("SELECT cli_id as 'ID', cli_razao as 'RAZÃO SOCIAL', cli_fantasia as 'NOME FANTASIA', concat(cli_cpf, cli_cnpj) as 'CPF / CNPJ', concat(cli_end, ',', cli_end_num) as 'ENDEREÇO', cli_bairro as 'BAIRRO', cli_cep as 'CEP', cli_cidade as 'CIDADE', cli_uf as 'ESTADO' FROM cad_cliente WHERE cli_razao LIKE '%".$razao."%' ORDER BY cli_id");

//Pegando os nomes dos campos
$num_fields = mysql_num_fields($qry);//Obtém o número de campos do resultado

// consulta quantas linhas foram encontradas
$cont = mysql_num_rows($qry);
	
if ($num_fields != 0) {

for($i = 0;$i<$num_fields; $i++){//Pega o nome dos campos
	$fields[] = mysql_field_name($qry,$i);
}
//Montando o cabeçalho da tabela
$table = '<table border="1" bordercolor=#cecece cellspacing="0" cellpadding="2" bgcolor="#f9f9f9"><tr>';

for($i = 0;$i < $num_fields; $i++){
	$table .= '<th><font size=1 face=arial>'.$fields[$i].'</th>';
}
//Montando o corpo da tabela
$table .= '<tbody>';
while($r = mysql_fetch_array($qry)){
	$table .= '<tr>';
	for($i = 0;$i < $num_fields; $i++){
		$table .= '<td><font size=1 face=arial>'.$r[$fields[$i]].'</td>';
	}
	$table .= '</tr>';
}
//Finalizando a tabela
$table .= '</tbody></table></font>';


//Imprimindo a tabela
echo "<p align=\"center\"><font face=arial size=2>Resultado da busca para: '".$razao."'</font><br>";
echo "<p align=\"center\"><br>".$table."<br><font face=arial size=1>Total de cliente encontrados: " .$cont."</font>";
} else {
	    echo "Nenhum cliente foi encontrado com a palavra ".$razao."";// ESTA LINHA NÃO ESTÁ FUNCIONANDO
    }
	}
	} //Finaliza if isset

?>
<p align="center"><a href="javascript:history.go(-1)"><img src="../../imagens/voltar.jpg" alt="Voltar" border="0" align="center"></a>

<?php
}
?>

O estranho é que o botão "voltar", que está fora do if isset, aparece na nova página, mas o resultado da consulta, não!

Já mudei de POST para GET, mas nada funciona.

Eu acho que o erro está neste trecho:
onClick="window.showModalDialog('sql_consulta_campo.php?id=$table','Relatório', 'width=600,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');"/>

Alguém pode me ajudar?

* Já tenho o arquivo jquery!

#2 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 07/04/2011, 16:30

ola renatagramos pelo que vi esse codigo abaixo é um java certo()

eu naum fiz tentes nem um mais testa ai

onclick="window.showModalDialog('<?php sql_consulta_campo.php?id=$table','Relatório' ?>

onclick="window.showModalDialog('<?php sql_consulta_campo.php?id=$table ?>','Relatório'

onclick="window.showModalDialog('sql_consulta_campo.php?id=$table','Relatório'
, 'width=600,height=600,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,
resizable=no');"/>

AGORDO RESPOSTA
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#3 renatagramos

renatagramos

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 07/04/2011, 21:43

Não funcionou! :(

#4 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 11/04/2011, 17:48

ola meu amigo
bem vc disse que ele ta fazendo a consulta tudo oquei certo então o probelha não esta no php e sim no javascript??? Certo???

então olha esse ai é facil a coopreção e acho que vai resolver seu problema testei em IE7 E FIREFOX 3 e 4

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>JQuery com HTML - by Diego Bezerra</title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script> 
<script type="text/javascript">

$(document).ready(function() {	

	$('a[name=modal]').click(function(e) {
		e.preventDefault();
		
		var id = $(this).attr('href');
	
		var maskHeight = $(document).height();
		var maskWidth = $(window).width();
	
		$('#mask').css({'width':maskWidth,'height':maskHeight});

		$('#mask').fadeIn(1000);	
		$('#mask').fadeTo("slow",0.8);	
	
		//Get the window height and width
		var winH = $(window).height();
		var winW = $(window).width();
              
		$(id).css('top',  winH/2-$(id).height()/2);
		$(id).css('left', winW/2-$(id).width()/2);
	
		$(id).fadeIn(2000); 
	
	});
	
	$('.window .close').click(function <img src='http://forum.wmonline.com.br/public/style_emoticons/<#EMO_DIR#>/envelope.gif' class='bbc_emoticon' alt='(e)' /> {
		e.preventDefault();
		
		$('#mask').hide();
		$('.window').hide();
	});		
	
	$('#mask').click(function () {
		$(this).hide();
		$('.window').hide();
	});			
	
});

</script>
<style type="text/css">
body {
font-family:verdana;
font-size:15px;
}

a {color:#333; text-decoration:none}
a:hover {color:#ccc; text-decoration:none}

#mask {
  position:absolute;
  left:0;
  top:0;
  z-index:9000;
  background-color:#000;
  display:none;
}
  
#boxes .window {
  position:absolute;
  left:0;
  top:0;
  width:440px;
  height:200px;
  display:none;
  z-index:9999;
  padding:20px;
}

#boxes #dialog2 {
  background:url(notice.png) no-repeat 0 0 transparent; 
  width:326px; 
  height:229px;
  padding:50px 0 20px 25px;
}
.close{display:block; text-align:right;}

</style>
</head>
<body>
<h2>Diego Bezerra Devensolvimento web</h2>

<ul>
<li><a href="#dialog2" name="modal">Janela Modal com Bloco de Nota</a></li>
</ul>
<div id="boxes">

<!-- Janela Modal -->
<div id="dialog2" class="window">
<!-- tira esses frazes aqui de baixo e coloca a função php -->
Então?<br />
Construir uma <b>Janela Modal Simples</b> com o formato que você quiser é fácil!<br />
Simples e totalmente personalizável : ) <br /><br />

<!-- botão fechar  --><input type="button" value="Fechar" class="close"/>
<!-- fim do codigo -->
</div>
<!-- Fim Janela Modal -->

<!-- Máscara para cobrir a tela -->
  <div id="mask"></div>

</div>

<br /><br />
&laquo; <a href="http://diegodeveloper.wordpress.com">Diego Bezerra</a>
</body>
</html>

segue em anexo uma imagem
coloque junto com o arquivo html

Attached Files


Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#5 renatagramos

renatagramos

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 11/04/2011, 21:31

Nossa, Diego!!! Essa modal é show! Parabéns!

Vou usá-la em outra parte do sistema... Pq o que eu preciso não é bem isso... O usuário clica no botão "Gerar Relatório" e aparece o relatório em uma nova página, formatada do tamanho que eu definir e sem o cabeçalho.

Valeu pela ajuda!

#6 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 12/04/2011, 09:03

ola entao oque vc realmente quer uma popup com tamanhos predefinidos??? bem se for dai uma olhada ai

ve se ta certo
window.open('resultado.php?id=<?php echo $id ?>','width=600,height=400,left=50, top=50, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');

ou

http://forum.codigof...janelas-pop-up/
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#7 renatagramos

renatagramos

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 12/04/2011, 15:01

É isso mesmo que preciso, mas já tenho o código e a janela já está abrindo direitinho, só que o conteúdo não aparece lá dentro e sim na mesma página do formulário... É isso que preciso resolver... como fazer o conteúdo aparecer dentro da nova página (ou popup).

Tem a ver com esse ?id=????...

Valeu!!!

#8 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 12/04/2011, 16:13

tou sem tempo para poder analizar o codigo...
mais vc disse que
(Tenho um formulário que consulta o banco mysql e exibe um relatório. Isso está funcionando perfeito! )...
então o problema não ta no codigo do php...

verifica o include???

ou

include ("../../config.php") or die (mysql_error()); //inclui o arquivo de conexão

e me fala oque aconteceu quando tiver programando eu uso muito o mysql_error ele da detalhe do erro
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#9 renatagramos

renatagramos

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Feminino
  • Localidade:São Paulo

Posted 12/04/2011, 16:32

tou sem tempo para poder analizar o codigo...
mais vc disse que
(Tenho um formulário que consulta o banco mysql e exibe um relatório. Isso está funcionando perfeito! )...
então o problema não ta no codigo do php...

verifica o include???

ou

include ("../../config.php") or die (mysql_error()); //inclui o arquivo de conexão

e me fala oque aconteceu quando tiver programando eu uso muito o mysql_error ele da detalhe do erro


Então está tudo certo com a conexão... Ele exibe o resultado da consulta, só não consigo mostrar esse resultado na nova página que abre.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq