Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago j.a

[Resolvido] Dados automaticamente ajax

Recommended Posts

Bom dia pessoal, estou tentando fazer com que no momento que um fornecedor for selecionado no 1º campo, nos outros campos automaticamente sejam impressos alguns dados do mesmo, considerando que esses dados estejam no banco de dados.

Só que essa consulta não está aparecendo nem no 1º campo.

As páginas que estou utilizando são as seguintes:

index.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<script type="text/javascript" src="js/autocomplete.js"></script>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/autocomplete.css">
<script type="text/javascript">
$(document).ready(function(){
	new Autocomplete("Fornecedor", function() {
		this.setValue = function( ID, Fornecedor, ID ) {
			$("#ID").val(ID);
			$("#Fornecedor").val(Fornecedor);
			$("#ID").val(ID);
		}
		if ( this.isModified )
			this.setValue("");
		if ( this.value.length < 1 && this.isNotClick ) 
			return ;
		return "ajax.php?q=" + this.value;
	});

});
</script>
</head>
<body>
<h1>Exemplo de auto complete em Ajax</h1>
Desenvolvido por Wellington Ribeiro
<h2><a href="http://www.idealmind.com.br">www.idealmind.com.br</a></h2>
<input type="text" name="Fornecedor" id="Fornecedor" />
<p>
	<input type="text" id="ID" name="ID" value="" /><br />
	<input type="text" id="Fornecedor" name="Fornecedor" value="" /><br />
	<input type="text" id="ID" name="ID" value="" />
</p>
</body>
</html>
pagina ajax

<?php
/**
 * @author Wellington Ribeiro - IdealMind.com.br
 * @since 31/10/2009
 */
//mysql_connect( $hostname, $username, $password ) or die ( 'Erro ao tentar conectar ao banco de dados.' );
//mysql_select_db( $dbname );

$q = mysql_real_escape_string( $_GET['q'] );

//$sql = "SELECT * FROM estados where locate('$q',estado) > 0 order by locate('$q',estado) limit 10";

$con = odbc_connect("testando","","") or die("Erro na conexão com o Database");
$sql = odbc_exec($con,"SELECT * FROM [OS - lista de instrumentos] where locate('$q',Fornecedor) > 0 order by locate('$q',Fornecedor) limit 10");

$res = odbc_exec( $sql );

while(odbc_fetch_row($sql)) {
	//echo "Id: {$campo['id']}\t{$campo['sigla']}\t{$campo['estado']}<br />";
	//$id = $campo['id'];
	$id = odbc_result($sql, '1');
	$Fornecedor = odbc_result($sql, 'Fornecedor');
	$sigla = odbc_result($sql, '1');
	$Fornecedor = addslashes($estado);
	$html = preg_replace("/(" . $q . ")/i", "<span style=\"font-weight:bold\">\$1</span>", $Fornecedor);
	echo "<li onselect=\"this.setText('$estado').setValue('$id','$estado','$sigla');\">$html ($sigla)</li>\n";
}

?>
Desde já agradeço a todos!

Abraço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, dá uma olhada nesse que desenvolvi em jQuery sem plugins:

 

http://www.wbruno.com.br/scripts/suggest.php

 

codigo

http://www.wbruno.com.br/blog/?p=24

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Willian, brigado pela atenção!

Cara, modifiquei teu codigo para adaptar a minha necessidade aqui, no primeiro select ele faz tranquilo, mostra s dados da tabela, mas dai os dados que teria que mostrar nos outros campos não mostra.

As páginas.

<html>
<head>
        <script type="text/javascript" src="jquery-1.2.2.pack.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){
                $("select[name='Fornecedor']").change(function(){
                        $("input[name='senha']").val('Carregando...');
                        $("input[name='senha']").val('Carregando...');

                        $.getJSON(
                                'function.php',
                                {ID: $(this).val()},
                                function(data){
                                        $.each(senha, function(i, obj){
                                                $("input[name='senha']").val(obj.senha);
                                                $("input[name='senha']").val(obj.senha);
                                        })
                                });
                });
        });
        </script>
</head>
<body>
        <form action="" method="post">
                <label>Fornecedor: <select name="fornecedor">
                        <option value="">--</option>
<?php
        include('function.php');
        echo montaSelect();
?>
                </select></label>
                <label>fornecedor: <input type="text" name="senha" value="" /></label>
                <label>id_certificado: <input type="text" name="senha" value="" /></label>

        </form>
</body>
</html>

<?php
        $con = mysql_connect('localhost', 'root', '');
        mysql_select_db('qualipar', $con);

        /**
         * função que retorna o select
         */
        function montaSelect()
        {
                $sql = "SELECT `ID`, `Fornecedor` FROM `fornecedores` ";
                $query = mysql_query( $sql );

                if( mysql_num_rows( $query ) > 0 )
                {
                        while( $dados = mysql_fetch_assoc( $query ) )
                        {
                                $opt .= '<option value="'.$dados['ID'].'">'.$dados['Fornecedor'].'</option>';
                        }
                }
                else
                        $opt = '<option value="0">Nenhum fornecedor 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 `fornecedores` ";
                if( $ID != null )
                        $sql .= "WHERE `ID` = {$ID} ";
                $query = mysql_query( $sql );

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

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

                return $json;
        }

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

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.