Ir para conteúdo
Fórum CódigoFonte.net
  • Anúncios

    • codigofonte

      Novo Fórum

      Pessoal, Atualizamos nossa versão do fórum para a mais recente da Invision Power. Como tínhamos uma versão muito antiga, talvez algumas áreas possam funcionar de forma errada ou com problemas, gostaria de pedir-lhes a compreensão, pois iremos resolvendo aos poucos. Até mais!
Entre para seguir isso  
williamlosjr

Consulta SQL em PHP

Recommended Posts

Olá!

 

Estou tentando montar uma consulta simples em PHP, mas sou iniciante e até agora não consegui fazer funcionar... A ideia é a seguinte:

Tenho uma tabela com dados dos usuários e quero uma página que eu insira o ID único de cada um e ela preencha os dados para conferência. Cada pessoa tem um cartão com esse ID em código de barras que vai ser lido e deve retornar os dados.

A maioria das coisas eu vou descobrindo sozinho aos poucos, então não sei se estou com todos os comandos pro sql corretos, onde estou direcionando errado e não sei como inserir os dados obtidos dentro dos campos. Fazendo uma pesquisa descobri que teria que utilizar Ajax e me passaram um código, mas também não sei como incluir com sucesso.

A tabela tem os campos ID, NOME, STATUS, DOCUMENTO, NASCIMENTO, INSTITUICAO, E VALIDADE.

Se alguém puder me dar uma força ;)

 

O que tenho em html:

 

<!DOCTYPE html>
<html lang="pt-BR">
  <head>
    <meta charset="utf-8">
    <title>Central</title>
    <link href='https://fonts.googleapis.com/css?family=Lato:400,700,300|Open+Sans:400,600,700,300' rel='stylesheet' type='text/css'>
    <link href="https://fonts.googleapis.com/css?family=Cinzel" rel="stylesheet" type='text/css'>
    <link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="css/font-awesome.min.css">
    <link rel="stylesheet" type="text/css" href="css/animate.css">
    <link rel="stylesheet" type="text/css" href="css/style1.css">
  </head>
  <body>
      <php include 'conecta.php' ?></php>
      <div class="field" align="center">
          <label>ID: </label>
          <input name="id" id="id" placeholder="ID" tabindex="3" required maxlength="10" onblur="ajax.js" autofocus>
      </div><br>
      <div class="field" align="center">
            <label>Nome: </label> <input class="input-tam-1" name="nome" id="nome" type="text" disabled>
      </div><br>    
      <div class="field" align="center">
            <label>Status: </label> <input class="input-tam-1" name="status" id="status" type="text" disabled> 
      </div><br>     
      <div class="field" align="center">
            <label>Documento: </label> <input class="input-tam-1" name="documento" id="documento" type="text" disabled>
      </div><br>
          <div class="field" align="center">
            <label>Nascimento: </label> <input class="input-tam-1" name="nascimento" id="nascimento" type="text" disabled>
      </div><br>
      <div class="field" align="center">
            <label>Instituição: </label> <input class="input-tam-1" name="instituicao" id="escola" type="text" disabled>
      </div><br>
      <div class="field" align="center">
            <label>Validade: </label> <input class="input-tam-1" name="validade" id="validade" type="text" disabled>
      </div><br> 
  </body>
</html>

 

---------------------------------------------------------------------------------------

Arquivo conecta.php

<?php
error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED);
// definições de host, database, usuário e senha
$host = "localhost";
$db   = "***";
$user = "***";
$pass = "***";
// conecta ao banco de dados
$con = mysql_pconnect($host, $user, $pass) or trigger_error(mysql_error(),E_USER_ERROR); 
// seleciona a base de dados em que vamos trabalhar
mysql_select_db($db, $con);
// cria a instrução SQL que vai selecionar os dados
$query = sprintf("SELECT ID, NOME, STATUS, DOCUMENTO, NASCIMENTO, INSTITUICAO, VALIDADE FROM estudantes WHERE NOME = ". $nome");
// executa a query
$dados = mysql_query($query, $con) or die(mysql_error());
// transforma os dados em um array
$linha = mysql_fetch_assoc($dados);
// calcula quantos dados retornaram
$total = mysql_num_rows($dados);

 //Jogar dentro dessa $results os resultados da query


    if (mysqli_num_rows($results) != 0)
    {
        $i = 0;

        //Pega os resultados e transforma em um array
        while ($result = mysqli_fetch_assoc($results))
        {
            $campos = array_keys($result);
            foreach($campos as $campo)
            {
                $allData[$i][$campo] = $result[$campo];
            }
            $i++;
        }
        echo "while(1);" . json_encode($allData);
    }
?>

 

---------------------------------------------------------------------------------------

ajax.js          Arquivo que recebi e não tem dado muito certo

 

<script>
//Classe para criar e configurar requisição ajax
var Ajax = function() {
    'use strict';

    var request;

    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        request = new XMLHttpRequest();
    } else { // code for IE6, IE5
        request = new ActiveXObject("Microsoft.XMLHTTP");
    }

    var url;
    var data;
    var method;

    var getUrl = function() {
        return url;
    }
    var setUrl = function(v) {
        url = v;
    }

    var getData = function() {
        return data;
    }
    var setData = function(v) {
        data = v;
    }

    var getMethod = function() {
        return method;
    }
    var setMethod = function(v) {
        method = v;
    }

    var send = function(loading, done) {
        if (!url) throw new Error('Url esperada.');
        if (!method) {
            console.warn('Metodo não especificado. Presumido POST.');
            method = 'POST';
        }

        request.onprogress = function(event) {
            if (event.lengthComputable && loading) {
                var percentComplete = event.loaded / event.total * 100;
                loading(percentComplete);
            }
        };

        request.onreadystatechange = function() {
            if (request.readyState == 4 && request.status == 200 && request.responseText && done) {
                done(request.responseText.toString().replace('while(1);', ''));
            }
        };

        request.open(method, url, true);
        request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf8');
        request.send(data);
    }

    //Métodos ou propriedades públicas da classe
    return {
        //Significa que quando instanciar a classe,
        //O objeto terá o método 'getUrl', por exemplo.
        //Quando o mesmo for executado: instancia.getUrl
        //Será executada a função 'getUrl', definida acima 'var getUrl = function..'
        getUrl: getUrl,
        setUrl: setUrl,
        getData: getData,
        setData: setData,
        getMethod: getMethod,
        setMethod: setMethod,
        send: send
    }
}

var campoid = document.getElementById('campoid');

campoid.onblur = function() {
    //Instancia a classe Ajax
    var requestid = new Ajax();

    //Configura a requisição
    requestid.setUrl('/conecta.php');
    requestid.setData('ID = ' + this.value);
    requestid.setMethod('POST');
    //Envia a requisição
    requestid.send(null,
    function(resposta) {
        //falha na busca, id ausente
        if (!resposta) {
            alert('ID não encontrado');
            campoid.focus();
            campoid.clear();
            return false;
        }
        //não precisa de else, o return false acima termina a execução da função

        //Transforma a string que o PHP criou em um objeto (JSON)
        var dados = JSON.parse(resposta);

        document.getElementById('outrocampodoform').value = dados.nome;
    });
}
</script>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Provavelmente você quer é popular campos com ajax...   Ex: Digita o CPF ele preenche os dados do rapaz automático.

Você pode usar o jquery e pegar o retorno tipo...

exemplo de popular um menu option...

 

$(document).ready(function() {
                $("#marca").change(function() {
                    //armazena o retorno do menu select
                    var marca = $(this).val();
                    $.ajax({

                        //url que vai fazer a consulta
                        url: '/siarmas/ajax/buscaModelos',
                        type: 'post',
                        data: {

                            //variavel que vai ser passada, no caso ela se chama MARCA e vai ter o valor que lá em cima ( var marca...) ou seja, o valor que digitou no input que o id seja #marca
                            marca: marca
                        },
                        dataType: 'json',
                        success: function(response) {
                            var len = response.length;
                            $("#modelo").empty();
                            for (var i = 0; i < len; i++) {
                                var id = response[0];
                                var name = response[1];
                                $("#modelo").append("<option value='" + id + "'>" + name + "</option>");
                            }
                        }
                    });
                });
            });

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×