Ir para conteúdo

POWERED BY:

Arquivado

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

visitante_xp

[Resolvido] PHP & JQuery

Recommended Posts

Iae galera... ;)

 

Tem como fazer o Jquery interagir com PHP??

 

Exemplo:

 

Faço uma pesquisa em PHP em um banco MYSQL e depois faço um tipo de "include" creio que deve ser SEARCH no jquery (nem sei e to falando...rsrs...).

 

No sistema existem um campo TEXT e um campo SELECT, quero que quando eu termine de digitar no TEXT o meu SELECT fique preenchido.

 

Não quero um PLUGIN AUTOCOMPLETE do JQUERY não hein galera, pode até parecer que é isso mas é só um pouco parecido.

 

Quero uma mistura de AUTOCOMPLETE com o PLUGIN BUSCA CEP.

 

Assim: No CEP quando eu termino de digitar e tiro o FOCO do campo ele faz a busca e me retorna o resultado em um determinado campo.

$("#campo")
Só que a busca ocorre na internet.

 

Já no AUTOCOMPLETE ele faz a busca em um arquivo interno, porem no plugin ja as diretrizes para poder buscar arquivos internos e ficar achando qual é a tal condição me parece meio dificil se for parar pra pensar.

 

Então é isso, fazer o JQUERY buscar dados em um arquivo PHP e me trazer o resultado em outro campo assim que o campo atual perder o foco.

 

Alguem ai sabe como interagir as linguagens? Sabe se tem como passar uma diretriz do Jquery para o PHP via $_GET por exemplo.

 

Abraço povo... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pequena alteração nesse script aqui:

http://forum.imasters.com.br/index.php?/topic/365795-combos-dependentes-ajax-jquery/

 

E é possível..

 

vou postar os trechos que modifiquei:

<form action="" method="post">
	<fieldset>
		<label><input type="text" name="combo1" value="" /></label>

		<label><select name="combo2">
			<option value="0">Escolha</option>
		</select></label>
	</fieldset>
</form>
no jquery:

$(document).ready(function(){//inicio o jQuery
		$("input[name='combo1']").blur(function(){
		var combo1 = $(this).val();//pegando o value do campo
		//alert(combo1);//apenas para debugar a variável

			$.getJSON(//esse método do jQuery, só envia GET
				'function.inc.php',//script server-side que deverá retornar um objeto jSON
				{combo1: combo1},//enviando a variável
na função php:

function getGet( $campo ){
		return isset( $_GET[$campo] ) ? $_GET[$campo] : NULL;
	}      
	function retorno( $letras )
	{
		$sql = "SELECT `id`, `nome`
			FROM `combo1`
			WHERE `nome` LIKE '{$letras}%' ";
		$sql .= "ORDER BY `nome` ";
e então na chamada da function:

echo retorno( getGet('combo1') );

Procure por: Item

http://www.wbruno.com.br/scripts/input-select.php

 

é o único cadastro que tem lá no banco ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acertei o código de acordo com o que você falou mas ta dando erro.

 

No meu caso, a procura vai ser da seguite maneira.

 

Quando se cria uma empresa deve-se atrelar a ela uma natureza juridica, que consta em uma lista que eu cadastrei num banco MySql em com dois campos: NUM_NATUREZA (Que corresponde ao numero da natureza juridica) e NATUREZA (Que corresponde a descrição da natureza juridica)

 

Tenho exatos dois campos, como no seu sistema, mas com uma pequena diferença, eu digito um numero ao invés de uma palavra.

 

Ainda assim deveria dar certo ou devo modificar alguma linha de código??

 

PS: Olhei o funcionamento antes e o Script ficou lgl...^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa, o select ja esta esta pronto. Caso a pessoa não saiba o numero da natureza juridica ela pode procurar manualmente. Tem a possibilidade de eu apenas referenciar para o SELECT?

 

Assim eu nem preciso de um arquivo a mais para fazer a consulta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acertei o código de acordo com o que você falou mas ta dando erro.

 

Se você não informar qual erro, não posso te ajudar ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rsrs...Verdade... :P

 

Krak, exclui os arquivos pelo dreamweaver e não consigo recupera... :angry:

 

Mas, o que tava acontecendo antes era que não tava me voltando informação...Eu tava usando um banco mysql...

 

Mas, igual eu te falei, se eu ja tiver a consulta na tela e só quiser referenciar, como da pra fazer...??

Compartilhar este post


Link para o post
Compartilhar em outros sites

sei lá, não entendi oque você quer dizer com isso ^_^

boa sorte ai..

 

A idéia do fórum aqui é movimentar idéias, e ajudar com dúvidas.. o resto é por sua conta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok, não me expressei bem. Não quero que você me dê um código para resolver meu problema.

 

O negócio é que eu não saco muito de JavaScript nem de Jquery. Só gostaria que você me dissesse qual ferramente uso para passar um dado de TIGELA_1 para TIGELA_2 em Jquery, tendo em vista que TIGELA_1 e TIGELA_2 são campos de um documento HTML.

 

Eu to quebrando a kbeça mas não sei como faz... Sei como navega entre os elementos da pagina e pega o valor de um determinado elemento mas não to sacando como insiro isso em outro campo.

 

Isso iria ajudar a resolver meu problema, pois como o tópico sugere eu busco os dados de outra página mas resolvi fazer REFERENCIA em um dado que ja esta na página.

 

Comecei com o

$(document).ready(function(){
então peguei o valor do que acabei de digitar...

$("input[name='num_natureza']").blur(function()
Peguei essa parte do seu código...^^

 

Agora eu quero saber como levo isso até o select. To quase comprando um livro de Jquery...rsrs...

 

Será que você pode pelomenos me falar isso...???

 

PS: Vlw por ter ajudado até aqui... ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum... agora você tem uma dúvida ^_^

vamos lá, me interessei em fazer, pq é a primeira vez que faço algo do tipo:

 

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("input[name='num_natureza']").blur(function(){
		var num_natureza = $(this).val();
		
		var option = document.createElement('option');//criando o option
		$( option ).attr({ value : num_natureza });//colocando o value no option
		$( option ).append( num_natureza );//colocando o 'label'
		
		$("select[name='natureza']").append( option );
	});
});
</script>

	<input type="text" name="num_natureza" />
	<select name="natureza">
		<option value="--">--</option>
	</select>
vai criar os options exatamente como você digitar no input..

colocando: Bruno no input,

vai te sair um option:

<option value="Bruno">Bruno</option>

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso quando é usado o:

$( option )
É porque faz referência ao objeto option né?

 

E o append serve pra adicionar conteudo no fim da pagina?

 

Hmm...O meu conteudo ja existe, não vou precisar criar nada.

 

Como faz pra eu encontra dentro do SELECT o que eu digitei no INPUT??

 

Vo da uma pesquisada aqui tmb..

 

Esse ultimo Post ta me servindo de base...Vlw... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um tal evento .CHANGE no jquery, uso ele mas não me retorna nada, nem da erro...

 

No caso coloquei assim:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<?php
include("../conexoes/clientes.php");
conectar_clientes();
include("../utf.php");
?>
</head>
<script type="text/javascript" src="../javascript/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){        
	$("input[name='natureza']").blur(function(){                
		var num_natureza = $(this).val();     
		//var option = document.createElement('option');
		//var option = document.getElementById("num_natureza");//criando o option
		                
		//$( option ).attr({ value : num_natureza });//colocando o value no option
		
		                
		//$( option ).append( num_natureza );//colocando o 'label'
		//$( option ).prepend( num_natureza ); 
		                                
		$("select[name='num_natureza']").change( num_natureza );//Troco o option do select pelo que escrevi no imput "natureza"      
	});
});
</script>        
<body>
<input type="text" name="natureza" /> 
<select id="num_natureza" name="num_natureza" style="font:Verdana, Arial, Helvetica, sans-serif; font-size:10px; color:#000099;">       
<?php
		$com="SELECT * FROM natureza";
		$res=mysql_query($com);
		$lin=mysql_num_rows($res);
		for($p=0; $p<$lin; $p++)
		{
			$num=mysql_result($res, $p, "num_natureza");
			$natureza=mysql_result($res, $p, "natureza");
	?>
      <option value="<?php echo $num; ?>"><?php echo $num."-".$natureza; ?></option>
    <?php
		}
	?>
    </select></body>
</html>
Bom, vou continuar pesquisando aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu acho que não tem como fazer 'Javascript selecionar um <option> do <select>'.. pelo menos eu não consegui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<_<

 

E SÓ AGORA você ME FALA ISSO...rsrs...

 

Bom, isso complica um pouco o meu lado.

 

De qualquer forma, vou tentar fazer isso em PHP então, ja que é a única outra linguagem que "conheço".

 

O problema é que em PHP tenho que atualizar a página...Tem algum código que de pra dar submit na pagina reconfigurando o form action?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora que eu entendi que era isso que você queria ^_^ , desculpa..

 

não entendi a pergunta...

mas você pode usar o método .submit() mas não vejo como isso vai adiantar de algo..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esquenta não... :lol:

 

Tava pensando no seguinte, se eu usar o modo submit assim que eu terminar de digitar o que eu quero e então conseguir configura-lo para ir para a mesma página enviando, sei lá, $y=1 então coloco uma condição nos campos para recuperarem em POST os dados (sei lá como o .submit() envia), talvez isso resolva o meu problema.

 

O que você acha?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troquei uns e-mails com um antigo professor meu e ele me deu umas ideias e me ajudou a montar esse código:

$(document).ready(function(){        
	$("input[name='natureza']").blur(function(){                
		var num_natureza = $(this).val();     

		var option = document.getElementByName("num_natureza");//Pego o que tem no select		
		
		for(i=0; i<option.length; i++)//Faço um loop com os valores do select
		{
			if(num_natureza.val()==option[i].val())//Caso o valor so campo de texto seja igual a o do option...
			{
				$("select[name='num_natureza']").option[i].selected( num_natureza );//Ele marca no select o option em questão
			}
		}
	});
});
Bom, ele me ajudou com o código, mas ainda assim não ta funcionando. O que você achou? Sera que com essa ideia da pra fazer?

 

Abraço...O/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu acho que não tem como fazer 'Javascript selecionar um <option> do <select>'.. pelo menos eu não consegui.

 

[2]

 

eu tinha feito isso já.. só que usando mais jQuery.. não consegui fazer funcionar.

e não achei nada pesquisando... não dá para repensar nessa mecânica ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez...

 

Lembra do plugin do Busca CEP?

// Função única que fará a transação
	function getLogradouro() {
			// Se o campo CEP não estiver vazio
			if($.trim($("#cep").val()) != ""){
				/*
					Para conectar no serviço e executar o json, precisamos usar a função
					getScript do jQuery, o getScript e o dataType:"jsonp" conseguem fazer o cross-domain, os outros
					dataTypes não possibilitam esta interação entre domínios diferentes
					Estou chamando a url do serviço passando o parâmetro "formato=javascript" e o CEP digitado no formulário
					http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val()
				*/
				$.getScript("http://cep.republicavirtual.com.br/web_cep.php?formato=javascript&cep="+$("#cep").val(), function(){
					// o getScript dá um eval no script, então é só ler!
					//Se o resultado for igual a 1
			  		if(resultadoCEP["resultado"]){
						// troca o valor dos elementos
						$("#rua").val(unescape(resultadoCEP["tipo_logradouro"])+": "+unescape(resultadoCEP["logradouro"]));
						$("#bairro").val(unescape(resultadoCEP["bairro"]));
						$("#cidade").val(unescape(resultadoCEP["cidade"]));
						$("#estado").val(unescape(resultadoCEP["uf"]));
					}else{
						alert("Endereço não encontrado");
					}
				});
			}
	}

No ele vai até o republica virtual atraves do $.getScript() e retorna um resultadoCEP["resultado"].

Nessa parte do código:

("#estado").val(unescape(resultadoCEP["uf"]));
Ele coloca (procura) no SELECT o estado.

Como ele da essa saida de dados?

 

Talvez assim de certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não sabia que isso funcionava:

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("select[name='natureza']").val( 'C' );
});
</script>

        <input type="text" name="num_natureza" />
        <select name="natureza">
                <option value="A">A</option>
                <option value="B">B</option>
                <option value="C">C</option>
        </select>
^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

@#($&*¨@#¨@*&$¨*@

 

A parada bem na nossa cara e agt nem viu...kkkkkkkk

 

William, muito obrigado cara... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Bom, então só pra dexa claro. No caso de precisar pegar os dados de um arquivo php externo é só usar o script:

$.getJSON(//esse método do jQuery, só envia GET                                'function.inc.php',//script server-side que deverá retornar um objeto jSON                                {combo1: combo1},//enviando a variável
e recuperar de acordo com o seu código e pra setar no select:

$("select[name='natureza']").val( 'C' );

Pratico, facil e rapido e que gerou um Tópico com 20 posts...kkkk

 

Vlw!!!

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.