Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigofariat

[Resolvido] Carregando janelas com dados processados em PHP

Recommended Posts

Pessoal,

 

Tenho dois arquivos:

 

filtra.html

filtradados.php

 

O arquivo filtra.html envia uma variavel para o filtrodados.php

 

<label for="fabrica">Nome da Fabrica:</label>
<input type="text" name="fabrica" id="fabrica" size="10" />
<input type="submit" value="Pesquisa"><br>

O arquivo filtradados.php recebe a variável, consulta o banco de dados, e imprime os dados na tela.

     $fabrica = $_POST["fabrica"];

Acontece que o processo é feito na mesma pagina, no caso usando o POST.

 

Eu gostaria de mostrar o resultado do arquivo filtradados.php em uma outra janela.

Para isso estou usando javascript. Eu consigo fazer com que a janela seja aberta.

Mas os dados do banco de dados nao sao exibidos, tem como passar algum dado para o JS, que

faça com que ele exiba as informações do banco de dados ?

 

#filtra.html

<html>
<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title>Pesquisa por Escolas</title>
		 <script language="javascript" src="abreJanela.js"></script>
	</head>
	<body>
		
		<fieldset>
		<legend>Pesquisa por alunos de uma mesma escola:<br></legend>
		<form name='filtra' action="filtradados.php" method="post">
		<label for="fabrica">Nome da fabrica:</label>
		<input type="text" name="fabrica" id="fabrica" size="10" />
		<input type="submit" value="Pesquisa"><br>
		<center><a href="#" onClick="javascript:abreJanela('http://localhost/~rodrigo /filtradados.php');">Alunos</a></center>
		
		</fieldset><br>
		</form>
		</div>
	</body>
</html>

#Script para abrir janela

function abreJanela(pagina)
{
 window.open(pagina, 'STATUS=NO, TOOLBAR=NO, LOCATION=NO, DIRECTORIES=NO, RESISABLE=NO, SCROLLBARS=YES, TOP=10, LEFT=10, WIDTH=770, HEIGHT=400');
}

#filtradados.php

<?php

     $fabrica = $_POST["fabrica"];
     $conexao = mysql_connect("localhost", "root", "") or die ("Erro na conexao ao banco de dados.");
     $db = mysql_select_db("banco") or die ("Erro ao selecionar a base de dados.");
     $sql = "select fabrica from cadastro where fabrica = '$fabrica' ORDER BY codigo;";
     $resultado = mysql_query($sql);
     $cont = 0;

 

Att,

 

Rodrigo Faria

Compartilhar este post


Link para o post
Compartilhar em outros sites

você passa o parametro no link do action do form.

na pagina que abre, você pega o parametro via GET, faz o select e pronto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Passar o método como GET não resolveu, pois ele abre na mesma pagina.

Criei um link para poder abrir a pagina em uma nova janela.

 

<a href="#" onClick="javascript:abreJanela('http://localhost/~rodrigo/filtracomescolaluno.php');">Link</a>

Meu intuito é quando o usuário digitar um nome no input, ele sera processado pelo PHP, eu uma nova janela.

Isso até funciona, mas a pagina é carregada só com o HTML, e os dados do BD nao sao recuperados.

 

Imagino que deve existir um forma de fazer com que esse o html seja carregado junto com os dados do PHP.

Mas não sei se isso é possível de fazer.

 

Att,

 

Rodrigo Faria

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu faria assim

 

 

arquivo filtra.html

                <title>Pesquisa por Escolas</title>
				<script language="javascript">
				function abreJanela(pagina,nome){ 
					pagina = pagina + '?fabrica=' + document.getElementById(nome).value;
					window.open(pagina);				
				}
				</script>
				</head>
				<body>
				<fieldset>
                <legend>Pesquisa por alunos de uma mesma escola:<br></legend>
                <form name='filtra' action="filtradados.php" method="post">
                <label for="fabrica">Nome da fabrica:</label>
                <input type="text" name="fabrica" id="fabrica" size="10" />
                <input type="submit" value="Pesquisa"><br> 
				<center><a href="#" onclick="javascript:abreJanela('filtradados.php','fabrica');">Alunos</a></center>
                                </fieldset><br>
								</form>								
								

e usando o arquivo filtradados.php no mesmo local da pasta filtra.html

 

arquivo filtradados.php

<?php

     $fabrica = $_REQUEST['fabrica'];
     
$servidor="localhost";
$usuario="root";
$senha="";
$banco="banco";
$conexao = mysql_connect($servidor, $usuario, $senha) or die ("Erro na conexao ao banco de dados.");
     $db = mysql_select_db($banco) or die ("Erro ao selecionar a base de dados.");
     $sql = mysql_query ("select fabrica from cadastro where fabrica = '$fabrica' ORDER BY codigo;");
     echo "<table><tr><td><b>Fabrica</b></td></tr>";
     while($linha=mysql_fetch_array($sql)){
     echo "<tr><td>";
     echo $linha['fabrica'];
     echo "</td></tr>";
     }
     echo "</table>";
 ?>   

UTILIZANDO A SUA IDEIA CLARO!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei usar da maneira que voce disse. A janela é aberta mas os dados do banco ainda não são exibidos.

Estou postando meus arquivos completos.

 

filtra.html

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
		<title>Filtro</title>
		<script language="javascript">

		  function abreJanela(pagina,nome){ 
                                        pagina = pagina + '?fabrica=' + document.getElementById(nome).value;
                                        window.open(pagina);                            
                                }
        </script>
		
    
	</head>
	<body>
		<div id= "login"> 
		<fieldset>
		<form name='filtranomefabrica' action="filtradados.php" method="post">
		<label for="fabrica">Nome da Fabrica:</label>
		<input type="text" name="fabrica" id="fabrica" size="10" />
		<input type="submit" value="Pesquisar">
		<center><a href="#" onclick="javascript:abreJanela('filtradados.php','fabrica');">Alunos</a></center>
		
		</fieldset><br>
		</form>
		</div>
	</body>
</html>

filtradados.php


     $fabrica = $_REQUEST["fabrica"];
     $conexao = mysql_connect("localhost", "root", "") or die ("Erro na conexao ao banco de dados.");
     $db = mysql_select_db("banco") or die ("Erro ao selecionar a base de dados.");
     $sql = "select nome, fabrica from cadastro where fabrica = '$fabrica' ORDER BY nome;";
     $resultado = mysql_query($sql);
     $cont = 0;
	 
	 
     echo "Fabrica pesquisada: <font color='red'>$fabrica</font>";
     echo "<br><br>"; 

     while ($linha=mysql_fetch_array($resultado))
       {
    
   
     echo "<td>".$linha['nome']."</td>";
     echo "<td>".$linha['fabrica']."</td>";                 
  }
  
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

onclick="javascript:abreJanela('filtradados.php','fabrica');">

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Não precisa de 'javascript:', e o segundo parametro tbm nao.

onclick="abreJanela('filtradados.php');">

A função:

<script language="javascript">
function abreJanela(pagina){                                         
   pagina = pagina + '?fabrica=' + document.getElementById("fabrica").value;
   window.open(pagina);                            
}
</script>

o PHP -- Use $_GET

$fabrica = $_GET["fabrica"];

Agora um detalhe no seu select.

$sql = "select nome, fabrica from cadastro where fabrica = '$fabrica' ORDER BY nome;";

colocando o sinal de igual ali, você tem que digitar exatamente como está no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As alterações sugeridas surtiram efeito, com o trecho abaixo consigo abrir uma janela com os dados.

Quando clico no link listar, a janela é aberta.

Entretanto gostaria de que um botao fosse usado para enviar os dados, ao invés do link.

Quando coloco um botao com submit ele carrega os dados na mesma pagina, e minha intenção é que seja

aberta uma nova janela. Como usar o botao para essa finalidade ?

 

Para o Vitor: "nao uso o nome como banco nao esse é meramente ilustrativo"

 

<script language="javascript">

  function abreJanela(pagina){ 
                 pagina = pagina + '?fabrica=' + document.getElementById("fabrica").value;
                 window.open(pagina);                            
                                }
                                </script>

	</head>
	<body>
		
		<fieldset>
		<legend>Pesquisa por alunos de uma mesma escola:<br></legend>
		<form name='filtra' action="filtradados.php" method="get">
		<label for="fabrica">Fabrica:</label>
		<input type="text" name="fabrica" id="fabrica" size="10" />		
		<a href="#" onclick="abreJanela('filtradados.php');">Listar</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

As alterações sugeridas surtiram efeito, com o trecho abaixo consigo abrir uma janela com os dados.

Quando clico no link listar, a janela é aberta.

Entretanto gostaria de que um botao fosse usado para enviar os dados, ao invés do link.

Quando coloco um botao com submit ele carrega os dados na mesma pagina, e minha intenção é que seja

aberta uma nova janela. Como usar o botao para essa finalidade ?

 

Para o Vitor: "nao uso o nome como banco nao esse é meramente ilustrativo"

 

<script language="javascript">

  function abreJanela(pagina){ 
                 pagina = pagina + '?fabrica=' + document.getElementById("fabrica").value;
                 window.open(pagina);                            
                                }
                                </script>

	</head>
	<body>
		
		<fieldset>
		<legend>Pesquisa por alunos de uma mesma escola:<br></legend>
		<form name='filtra' action="filtradados.php" method="get">
		<label for="fabrica">Fabrica:</label>
		<input type="text" name="fabrica" id="fabrica" size="10" />		
		<a href="#" onclick="abreJanela('filtradados.php');">Listar</a>

ah intendi a parte do banco

 

para abrir em uma nova janela cria o botão assim

<input type=button value=pesquisar onclick="abreJanela('filtradados.php');">

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.