Ir para conteúdo

POWERED BY:

Arquivado

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

Tiago Mello

Selecionando dados do banco de dados

Recommended Posts

Bom dia gente, eu tenho um formulário de cadastro, e no comando <select> me dá todos os dados que tenho no banco, eu estou tentando fazer uma função para que no momento que seleciona-se esse dado no formulário, me desse todos os seus dados em outra tabela.

Alguém poderia me ajudar?

Desde já agradeço a ajuda e compreensão de todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso aqui:

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

 

?

script:

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

 

Pesquisa aqui pelo fórum, que várias pessoas já usaram esse script meu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Wiliian, eu criei o banco tudo certinho, configurei lá, mas ele não aparece os dados nos outros campos, só os nomes, mas o end e o tel não aparece!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Baixou a biblioteca jQuery ?

http://jquery.com/

 

Se você acessar o function diretamente aparece algo do tipo:

http://www.wbruno.com.br/scripts/combo-preenche-input-function.php?idCliente=2

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe a ignorância, qual é o link para baixar a biblioteca, onde salvo ela?

Não apareceu isso quando abro a function diretamente, aparece a listagem dos nomes que tem no banco!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uê cara.. é Javascript..

<script type="text/javascript" src="jquery-1.3.2.min.js"></script>
salva no mesmo diretório do arquivo do formulário.

 

baixa pelo link que te mandei:

http://code.jquery.com/jquery-1.4.1.min.js

e deixa o src igual o nome do arquivo.

 

Ou não aparece nada(caso você não coloque o parâmetro lá na URL), ou aparece o objeto jSON qndo abrir o function.. se aparecer outra coisa, você fez algo errado.

 

Procure entender o script, apenas tentei lhe fazer uma sugestão, imaginando que era isso que você queria.

Desculpe se compliquei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, eu linkei lá na página, salvei no mesmo diretório, e quando abro a página function, ele me dá uma lista assim, como link.

como todos os nomes cadastrados no banco.

 

e quando abro a página do formulário mesmo ele me da o seguinte, aparece o nome mas da dois erros iguais a esse:

 

Warning: mysql_real_escape_string() [function.mysql-real-escape-string]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\xampp\htdocs\ajax\function.php on line 31

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como ficaram teus arquivos?

 

eu não usei essa função.. mysql_real_escape_string()

você pegou esse scritp aqui:

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

 

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer funcionar pelo teu, dai passei para o meu banco, e coloquei os meus dados, nas opções, ele mostra, mas os dados deles não.

É o seguinte, tenho duas tabelas, onde em uma eu tenho os dados dos fornecedores, e outra eu tenho os certificados desses fornecedores, com o código do certificado, data, etc..

aqui está o código da function.php

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

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

                if( mysql_num_rows( $query ) > 0 )
                {
                        while( $dados = mysql_fetch_assoc( $query ) )
                        {
                                $opt .= '<option value="'.$dados['fornecedor'].'">'.$dados['fornecedor'].'</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_certificado;

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

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

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

                return $json;
        }

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ajusta isso aqui:

function retorna( $fornecedor=null )
        {

                $sql = "SELECT * FROM `certificado` ";
                if( $fornecedor != null )
                        $sql .= " WHERE `fornecedor` = '{$fornecedor}' ";

acessando o function diretamente lá..

function.php?fornecedor=Nome

 

aparece oque ?

 

agora... como assim:

"SELECT `fornecedor`, `fornecedor` FROM `certificado` ";
? tá selecionando 2 vezes o mesmo campo ?

 

essa tabela não tem um ID? é melhor para trabalhar... prefira enviar o ID na URL para evitar problemas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me aparece isso aqui:

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\xampp\htdocs\ajax\function.php on line 38

endereco: não encontrado]

Compartilhar este post


Link para o post
Compartilhar em outros sites

então parece que a query falhou, veja o motivo:

$query = mysql_query( $sql );
troque por:

$query = mysql_query( $sql ) or die( mysql_error() );
e abra o function diretamente de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que é assim, eu tenho duas tabelas, umas para os fornecedores, e outra para os certificados, na tabela fornecedores eu tenho o id deles, mas na certificado eu só tenho o nome do fornecedor, e ai eu teria que trabalhar com a tabela certificado né, pois tenho que pegar os dados dela, código, data...

 

Segue me dando o mesmo erro:

 

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\xampp\htdocs\ajax\function.php on line 38

endereco: não encontrado]

Compartilhar este post


Link para o post
Compartilhar em outros sites

na tabela fornecedores eu tenho o id deles, mas na certificado eu só tenho o nome do fornecedor

 

Então essa modelagem está errada.

 

Relacione tabelas por ID e não por 'nome', isso pode causar uma grave inconsistência no teu banco. Estude sobre 'normalização de dados'.

 

você trocou as 2 vezes ? vai aparecer o erro SQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria melhor, mas se não puder... continua do jeito que está.. futuramente você vai ver o problema... e então arruma ou não :P

voltando ao erro, você colocou o mysql_error() lá ?

$query = mysql_query( $sql )or die( mysql_error() );

                $json .= ' [';  
                if( mysql_num_rows( $query ) > 0 )

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aparece o mesmo erro que tinha te mostrado anteriormente

esse aqui

 

 

Warning: mysql_num_rows() expects parameter 1 to be resource, null given in C:\xampp\htdocs\ajax\function.php on line 38

endereco: não encontrado]

Compartilhar este post


Link para o post
Compartilhar em outros sites

vai testando... pega da um echo no $sql ve se ta certinho a instrução ... testa ve se a conexao ta funcionando certin... se o banco ta selecionado =] e por ae vai.. ate acha o erro ^^ .. qualquer coisa mesmo testando nao acha o erro posta man =]

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.