Ir para conteúdo

POWERED BY:

Arquivado

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

Shevchenko

[Resolvido] Como Passar Informações para Javascript Usando Php

Recommended Posts

E ae pessoal!

 

Estou com um problema, o meu sistema retorna do banco as informações sobre algumas compras, eu as coloquei para sair em uma tabela, ou seja, sai o numero do pedido na primeira coluna, o produto na segunda, preço na terceira e assim por diante...

 

Porém, para agilizar o serviço eu pensei em usar um sistema de pop-up para apresentar todos os dados da compra ( como endereço do cliente, telefone) coisas que não aparecem na tela de status do pedido.

 

while($res = mysql_fetch_array($pesquisa)){

 

echo "

 

<tr><td name='id'><a href='javascript:aJanela()'>{$res['idcompra']}</a></td>

<td>{$res['nick']}</td>

 

Eu queria o seguinte:

 

-Clicou em cima do numero que "idcompra" retornou, por exemplo o num 1 ele abra um pop-up com todas as informações contidas no banco de dados com o id = 1 e assim por diante. Imagino que tenha que levar esses dados para uma pagina por exemplo busca.php e depois retornar o resultado.

 

Mas como faço isso? Capturo o numero do idcompra que o cara clicou, levo pra outra pagina e depois retorno tudo para o javascript/pop-up.

 

Grato pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo simples aki

 

<script>
function envia(id){
var pagina = 'inf.php';//pagina da popup
pagina += '?id='+id;//coloca o id na url
window.open(pagina);//abre popup
}
</script>
<?php
//aki sua conexao e sua pesquisa
//.....

while($res = mysql_fetch_assoc($pesquisa)){
echo "<tr><td name='id'><a href='#' onclick=envia(\"{$res['idcompra']}\")>{$res['nick']}</a></td>";
?>
<form>
<input type='hidden' id='id' name='id'><br>
<input type='text' id='nome' name='nome'><br>
<input type='text' id='tel' name='tel'><br>
<input type='submit'>
</form>

 

e no inf.php

<script>
function retorna(id,nome,tel){
//window.opener referencia a pagina a qual chamou a popup
window.opener.document.getElementById('id').value = id;
window.opener.document.getElementById('nome').value = nome;
window.opener.document.getElementById('tel').value = tel;
window.close(pagina);//fecha a página
}
</script>
<?php
//aki sua conexao
//.....
$id = $_GET['id'];//pega o id passado na url
$sql = mysql_query("select `nome`, `telefone` from `tabela` where `id` = {$id}") or die(mysql_error());
$linha = mysql_fetch_assoc($sql);
echo "<table>
	<tr>
		<td>
			<a href='#' onclick=retorna(\"{$id}\",\"{$linha['nome']}\",\"{$linha['telefone']}\")>Escolher</a>
		</td>
		<td>
			{$linha['nome']}
		</td>
		<td>
			{$linha['telefone']}
		</td>
	</tr>
  </table>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado mesmo pela sua ajuda amigo!

 

Funcionou o esquema de fazer ele capturar o numero do id, porém a página inf.php não está sendo aberta dentro do pop-up, continua abrindo uma nova aba para apresentar o resultado.O pop-up seguer é aberto.

Se puder me informar como corrigir ficarei grato.

 

Hahaha, eu viajei, não vi que tava faltando as definições do tamanho e conteúdo do pop-up. Agora apareceu tudo certinho. Muito obrigado amigo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, esse tópico me ajudo muito, mais minha duvida é um pouco diferente... se alguém poder ajudar

 

Bom tenho um formulário que vai adicionar campos dinamicamente

 

----

***-- Todos textfilds

produtos ( link na imagem para o pop, que busca no banco as informações necessários)

preço

quantidade

***-- Todos textfilds

 

estou usando o script abaixo para abrir os campos dinamicamente


<script type="text/javascript">
var mainDivName = 'eventDates';

function addEvent()
{
var ni = document.getElementById(mainDivName);

var numi = document.getElementById('theValue');
var num = (document.getElementById("theValue").value -1)+ 2;
numi.value = num;

var divIdName = "eventDate"+num+"Div";
var newdiv = document.createElement('div');
newdiv.setAttribute("id",divIdName);
newdiv.innerHTML = "<table width=798 border=0 cellspacing=0 cellpadding=0><tr><td><input type='hidden' id='id' name='id'><input type='text' name='produto[]' id='produto[]'><a href=\"javascript:abrirPop('d.php?id="+num+"')\">B</a></td><td><input type='text' name='qd[]' id='qd[]'></td><td><input type='text' name='preco[]' id='preco[]'></td><td></td><td><a href=\"#\" onclick=\"removeEvent(\'"+divIdName+"\')\">Remover linha</a></td></tr></table>";


ni.appendChild(newdiv);

}

function removeEvent(divNum)
{
var d = document.getElementById(mainDivName);
var olddiv = document.getElementById(divNum);
d.removeChild(olddiv);
}
</script>

 

Ate aqui maravilha ... agora começa os problemas

 

Vamos dizer que criei 3 campos novos ou seja para inserir 3 novos produtos

 

ai vo la e clico em buscar... e abre o pop... pesquiso certinho e quando vou retornar não da certo.

 

Imagino que seja ... pois os campos ... não existem na realidade ... estão ali pelo javascript

 

Segue o código do pop

<script>
function retorna(id,nome,tel){
       //window.opener referencia a pagina a qual chamou a popup
       window.opener.document.getElementById('id').value = id;
       window.opener.document.getElementById('produto').value = produto;
       window.opener.document.getElementById('preco').value = preco;
       window.close(pagina);//fecha a página
}
</script>
<table>
               <tr>
                       <td>
                               <a href='#' onclick=retorna("1","nome","telll")>Escolher</a>
                       </td>
                       <td>
teste
                       </td>
               </tr>
         </table>
</head>
<body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

window.opener.document.getElementById('id').value = id;
window.opener.document.getElementById('produto').value = produto;
window.opener.document.getElementById('preco').value = preco;

você tem que especificar em qual campo você quer que retorne, acima está especificando para retornar nos campos com ids id, produto e preco

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.