Ir para conteúdo

POWERED BY:

Arquivado

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

renatagramos

[Resolvido] Dificuldade com select preenchendo inputs

Recommended Posts

Pessoal,

Tenho um código semelhante que não funciona de jeito nenhum... o resultado nos campos aparecem sempre "Carregando..."

 

CADASTRA.PHP

<script type="text/javascript">
       $(document).ready(function(){
               $("select[name='cli_razao']").change(function(){
					$("input[name='cli_id']").val('Carregando...');
 						$("input[name='cli_fantasia']").val('Carregando...');
                       $("input[name='cli_end']").val('Carregando...');

                       $.getJSON(
                               'function.php',
                               {cli_id: $(this).val()},
                               function(data){
                                       $.each(data, function(i, obj){
                                               $("input[name='cli_id']").val(obj.cli_id);
					$("input[name='cli_fantasia']").val(obj.cli_fantasia);
                                               $("input[name='cli_end']").val(obj.cli_end);
                                       })
                               });
               });
       });

.
.
.

<td><select name="cli_razao" id="cli_razao"readonly="readonly">
<option value=""></option>
<?php
       include "function.php";
       echo montaSelect();
?>
      </select></td>

.
.
.

FUNCTION.PHP

<?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
       function montaSelect()
       {
              $sql = "SELECT cli_id, cli_razao FROM cad_cliente ";
              $query = mysql_query( $sql );

               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $opt .= '<option value="'.$dados['cli_id'].'">'.$dados['cli_razao'].'</option>';
                       }
               }
               else
                       $opt = '<option value="0">Nenhum cliente cadastrado</option>';
               return $opt;
       }
       /**
        * função que devolve em formato JSON os dados do cliente
        */
       function retorna( $id=null )
       {
               $id = (int)$id;

               $sql = "SELECT * FROM cad_cliente ";
               if( $id != null )
                       $sql .= "WHERE cli_id = {$id} ";
               $query = mysql_query( $sql );

               //$json = 'var dados = ';
               $json .= ' [';  
               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $json .= "{ID: '{$dados['cli_id']}', {Fantasia: '{$dados['cli_fantasia']}', Endereço: '{$dados['cli_end']}'}";;
                       }
               }
               else
                       $json = 'cli_fantasia: não encontrado';

               $json .= ']';
               //$jston .= ';';

               return $json;
       }
/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['cli_id']) )
{
       echo retorna( $_GET['cli_id'] );
}
}
?>

 

Já mudei GET por POST e tudo mais... nada funciona!

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse codigo num tem nada a ver com o acima proposto.

 

Desculpe, mas onde você pegou ?

é meu esse script, eu fiz e disponibilizei para a comunidade mesmo.. só tô curioso de saber de onde você conseguiu :lol:

 

acessa lá o arquivo

localhost/function.php?cli_id=12 veja se aparece o jSON.

se não corrija.

 

Vou dividir o teu topico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, William.

 

Eu peguei o código aqui mesmo.

 

Tenho a versão 1.5.2 da Jquery.... parece tudo certo, mas não aparece o resultado, fica só Carregando...

 

Inclusive peguei o seu código do jeito que estava, criei o banco igual ao seu pra testar e dá a mesma coisa!

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça esse teste:

 

acessa lá o arquivo

localhost/function.php?cli_id=12 veja se aparece o jSON.

se não corrija.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!!!

 

Não sei bem o que fiz, sei que coloquei o arquivo jquery-1.3.2.min.js em uma pasta junto com os arquivos do json, e mexi um pouco mais no código. Deu certo!!! Está funcionando perfeito!!!

 

form_cadastra_contrato.php

<script type="text/javascript" src="../../jquery/jquery-1.3.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$("select[name='cli_razao']").change(function(){
		$("input[name='cli_id']").val('Carregando...');
		$("input[name='cli_end']").val('Carregando...');
		$("input[name='cli_end_num']").val('Carregando...');
		$("input[name='cli_fantasia']").val('Carregando...');

		$.getJSON(
			'script_function_contrato.php',
			{cli_id: $(this).val()},
			function(data){
				$.each(data, function(i, obj){
					$("input[name='cli_id']").val(obj.cli_id);
					$("input[name='cli_end']").val(obj.cli_end);
					$("input[name='cli_end_num']").val(obj.cli_end_num);
					$("input[name='cli_fantasia']").val(obj.cli_fantasia);
				})
			});
	});
});
</script>

 

<td><select name="cli_razao" id="cli_razao"readonly="readonly">
<option value=""></option>
<?php
       include('script_function_contrato.php');
       echo montaSelect();
?>
      </select></td>

 

script_function_contrato.php

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

       /**
        * função que retorna o select
        */
       function montaSelect()
       {
               $sql = "SELECT cli_id, cli_razao FROM cad_cliente ORDER BY cli_razao";
               $query = mysql_query( $sql );

               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $opt .= '<option value="'.$dados['cli_id'].'">'.$dados['cli_razao'].'</option>';
                       }
               }
               else
                       $opt = '<option value="0">Nenhum cliente cadastrado</option>';

               return $opt;
       }

       /**
        * função que devolve em formato JSON os dados do cliente
        */
       function retorna( $id=null )
       {
               $id = (int)$id;

               $sql = "SELECT * FROM cad_cliente ";
               if( $id != null )
                       $sql .= "WHERE cli_id = {$id} ";
               $query = mysql_query( $sql );

               //$json = 'var dados = ';
               $json .= ' [';  
               if( mysql_num_rows( $query ) > 0 )
               {
                       while( $dados = mysql_fetch_assoc( $query ) )
                       {
                               $json .= "{
							cli_id: '{$dados['cli_id']}', 
							cli_end: '{$dados['cli_end']}', 
							cli_end_num: '{$dados['cli_end_num']}', 
							cli_fantasia: '{$dados['cli_fantasia']}'
							}";;
                       }
               }
               else
                       $json = 'cli_end: não encontrado';

               $json .= ']';
               //$jston .= ';';

               return $json;
       }


/* só se for enviado o parâmetro, que devolve o combo */
if( isset($_GET['cli_id']) )
{
       echo retorna( $_GET['cli_id'] );
}
?>

 

Muito obrigada pela ajuda!!!!

 

* Não sei como coloca no assunto: [RESOLVIDO]

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.