Ir para conteúdo
r.guerra

Join nao retorna dados

Recommended Posts

Salve galera, boa tarde a todos.
estou tendo um problema que ainda nao consegui enxergar... faço uma consulta mysql que funciona normalmente no proprio ambiente(mysql) mas ao solicitar a exibição do campo via php gera nao exibe e me tras um alerta.

 

****codigo php

function monta_avaliacao($cpf){
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf='$cpf'");
     $dados = mysqli_fetch_assoc($query);
    print $dados['c.cpf'];
     }

 

*****sainda no html

Notice: Undefined index: c.cpf in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 29
Notice: Undefined index: a.pe in C:\xampp\htdocs\acus\inclusoes\funcoes.php on line 30

 

tenho um arquivo com as funções, e apenas mando os parametros.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente troca

print $dados['c.cpf'];

por 

var_dump($dados);

para ver os campos que esta retornando.

 adicione tbm um try catch para ver se o banco não esta retornando nenhum erro


function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    print $dados['c.cpf'];
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}

     }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

5 horas atrás, ygor.anjos disse:

tente troca


print $dados['c.cpf'];

por 


var_dump($dados);

para ver os campos que esta retornando.

 adicione tbm um try catch para ver se o banco não esta retornando nenhum erro



function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    print $dados['c.cpf'];
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}

     }

 

Fala Ygor, boa tarde irmão!
cara então.....
eu até ja tinha feito um dump, e me exibe tudo cara, cada campo....
fiz a alteração que propos na minha função e mesmo assim o erro persiste, kkkkkkkkkk

NOTICE: UNDEFINED INDEX: C.CPF IN C:\XAMPP\HTDOCS\ACUS\INCLUSOES\FUNCOES.PHP ON LINE 58

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca aqui como esta retornando.

function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    var_dump($dados);
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}

     }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
6 horas atrás, ygor.anjos disse:

Coloca aqui como esta retornando.


function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    var_dump($dados);
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}

     }

 

ARRAY(23) { ["ID"]=> STRING(2) "38" ["DATA"]=> STRING(10) "2021-03-19" ["TIPO"]=> STRING(1) "1" ["STATUS"]=> STRING(1) "0" ["NOME"]=> STRING(7) "RAPHAEL" ["ALTURA"]=> STRING(4) "1.20" ["GENERO"]=> STRING(1) "M" ["CPF"]=> STRING(11) "07790912889" ["TELEFONE"]=> STRING(11) "31973444441" ["CELULAR"]=> STRING(11) "31973554531" ["NASCIMENTO"]=> STRING(10) "1990-06-02" ["EMAIL"]=> STRING(3) "A@A" ["CEP"]=> STRING(8) "33930810" ["ENDERECO"]=> STRING(14) "RUA DO 7" ["N"]=> STRING(3) "201" ["COMPLEMENTO"]=> STRING(5) "AP301" ["BAIRRO"]=> STRING(12) "MARIA HELENA" ["CIDADE"]=> STRING(14) "BELO HORIZONTE" ["UF"]=> STRING(2) "MG" ["OBS"]=> STRING(0) "" ["LOGIN"]=> STRING(7) "RAPHAEL" ["SENHA"]=> STRING(76) "48859D012EC08E522A20C18E1767662D%*Y1JRADGZ%*25CB08495EDB9133D6798535D2083BFB" ["CLIENTES"]=> STRING(2) "38" }


a saída trouxe os dados normalmente;

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora tem que funcionar haha:

function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    $echo $dados['CPF'];
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}

     }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 horas atrás, ygor.anjos disse:

agora tem que funcionar haha:


function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    $echo $dados['CPF'];
}catch (Exception $e){
    $error = $e->getMessage();
    echo $error;
}

     }

 

agora deu kkkkkkkkkkkkkkkkk
cara então para me exibir os dados vou ter que printar todos os campos na função?
não posso chamar a função na pagina e printar onde desejar não?
pq se eu for exibir os dados em certos locais vai ficar complicado.... daria certo jogar em uma variavel e chamar ela no local?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei chamar no local como $dados['cpf'] , nao deu certo;
tentei declarando la na função $cpf=$dados['cpf'] e chamando ela na pagina, nao deu tambem...
que doideira........

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tem que chamar a função onde precisa e retorna os dados.

 

function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    return $dados;
}catch (Exception $e){
    $error = $e->getMessage();
    return $error;
}

     }


$avaliacao = monta_avaliacao('123456789');
echo $avaliacao['CPF'];

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 minutos atrás, ygor.anjos disse:

você tem que chamar a função onde precisa e retorna os dados.

 


function monta_avaliacao($cpf){
try {
    $query = mysqli_query($_SESSION["conector"],"SELECT c.*, a. cliente AS clientes FROM clientes AS c INNER JOIN avaliacoes AS a ON c.id = a.cliente WHERE c.cpf= '".$cpf."' ");
     $dados = mysqli_fetch_assoc($query);
    return $dados;
}catch (Exception $e){
    $error = $e->getMessage();
    return $error;
}

     }


$avaliacao = monta_avaliacao('123456789');
echo $avaliacao['CPF'];

aê camarada kkkkkkkkkkkkkkkkk
agora deu certinho!
Cara obrigado pela moral e pelas dicas, tmj!

 

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

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida de validação de INPUT com função moeda.
       
      Tenho um input onde o usuário digita um valor qualquer, por exemplo: 1.234,56
      o problema é quando precisa atualizar o valor.
       
      Quando o usuário atualizar o input fica assim: 1.234,
       
      como faço para atualizar as casas decimais, conforme o valor for sendo alterado ?
       
      o input está assim:
       
      <div class="col-md-2"> <label for="">Valor Unitário</label> <input type="text" class="form-control" id="estoqprod" name="estoqprod" style="font-size:15px; font-weight:bold; width:100%; text-align:center;" placeholder="0,00" OnKeyUp="calcProd();" onkeypress="return(FormataMoeda(this,'.',',',event))" > </div>  
      a função para formatar o input para moeda está assim:
      obs.: a Função CalcProd está executando corretamente
      function calcProd(){ //Obter valor digitado do produto var estoq_prod = document.getElementById("estoqprod").value; //Remover ponto e trocar a virgula por ponto while (estoq_prod.indexOf(".") >= 0) { estoq_prod = estoq_prod.replace(".", ""); } estoq_prod = estoq_prod.replace(",","."); //Obter valor digitado do produto var prod_qtde = document.getElementById("qtde").value; //Remover ponto e trocar a virgula por ponto while (prod_qtde.indexOf(".") >= 0) { prod_qtde = prod_qtde.replace(".", ""); } prod_qtde = prod_qtde.replace(",","."); //Calcula o Valor do Desconto if (prod_qtde > 0 && estoq_prod > 0) { calc_total_produto = parseFloat(prod_qtde) - parseFloat(estoq_prod); var numero = calc_total_produto.toFixed(2).split('.'); //Calculo para não deixar GRAVAR valores negativos if (calc_total_produto < 0 ) { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.') * -1; document.getElementById("qtdeTotal").value = numero.join(','); } else { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.'); document.getElementById("qtdeTotal").value = numero.join(','); } } else { if (estoq_prod > 0) { document.getElementById("qtdeTotal").value = document.getElementById("estoqprod").value; } else { document.getElementById("qtdeTotal").value = "0,00"; } } } /*---Função para Formatar Campo para Moeda [R$]---*/ function FormataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; }  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Estou com uma dúvida de validação de INPUT com função moeda.
       
      Tenho um input onde o usuário digita um valor qualquer, por exemplo: 1.234,56
      o problema é quando precisa atualizar o valor.
       
      Quando o usuário atualizar o input fica assim: 1.234,
       
      como faço para atualizar as casas decimais, conforme o valor for sendo alterado ?
       
      o input está assim:
       
      <div class="col-md-2"> <label for="">Valor Unitário</label> <input type="text" class="form-control" id="estoqprod" name="estoqprod" style="font-size:15px; font-weight:bold; width:100%; text-align:center;" placeholder="0,00" OnKeyUp="calcProd();" onkeypress="return(FormataMoeda(this,'.',',',event))" > </div>  
      a função para formatar o input para moeda está assim:
      obs.: a Função CalcProd está executando corretamente
      function calcProd(){ //Obter valor digitado do produto var estoq_prod = document.getElementById("estoqprod").value; //Remover ponto e trocar a virgula por ponto while (estoq_prod.indexOf(".") >= 0) { estoq_prod = estoq_prod.replace(".", ""); } estoq_prod = estoq_prod.replace(",","."); //Obter valor digitado do produto var prod_qtde = document.getElementById("qtde").value; //Remover ponto e trocar a virgula por ponto while (prod_qtde.indexOf(".") >= 0) { prod_qtde = prod_qtde.replace(".", ""); } prod_qtde = prod_qtde.replace(",","."); //Calcula o Valor do Desconto if (prod_qtde > 0 && estoq_prod > 0) { calc_total_produto = parseFloat(prod_qtde) - parseFloat(estoq_prod); var numero = calc_total_produto.toFixed(2).split('.'); //Calculo para não deixar GRAVAR valores negativos if (calc_total_produto < 0 ) { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.') * -1; document.getElementById("qtdeTotal").value = numero.join(','); } else { numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.'); document.getElementById("qtdeTotal").value = numero.join(','); } } else { if (estoq_prod > 0) { document.getElementById("qtdeTotal").value = document.getElementById("estoqprod").value; } else { document.getElementById("qtdeTotal").value = "0,00"; } } } /*---Função para Formatar Campo para Moeda [R$]---*/ function FormataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){ var sep = 0; var key = ''; var i = j = 0; var len = len2 = 0; var strCheck = '0123456789'; var aux = aux2 = ''; var whichCode = (window.Event) ? e.which : e.keyCode; if (whichCode == 13) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ''; for(; i < len; i++) if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i); aux += key; len = aux.length; if (len == 0) objTextBox.value = ''; if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux; if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux; if (len > 2) { aux2 = ''; for (j = 0, i = len - 3; i >= 0; i--) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ''; len2 = aux2.length; for (i = len2 - 1; i >= 0; i--) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; }  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Desculpa postar minha dúvida, fiz várias pesquisa mas não tive sucesso.
       
      Como faço para capturar o ID do SELECT selecionado e passar para base_url ?
       
      Exemplo:
      após selecionar o ID passar para <?php echo base_url();?>estoque/ajuste/adicionar/ <== passar o ID aqui.
       
      <div class="col-md-6"> <label for="tipoDepart" class="control-label">Departamento:</label> <select name="tipoDepart" id="tipoDepart" style="width:100%;" class="form-control"> <option value="">Selecione um Departamento</option> <?php foreach ($dprts as $dp) { echo '<option value="'.$dp->idDepartamento.'">'.$dp->departamento.'</option>'; } ?> </select> </div> <div class="col-md-6"> <div class="card card-entrad"> <div class="card-header"> <label class="card-tlentr">Entrada - Estoque</label> </div> <div class="card-body"> <div style="text-align:center;"> <a href="<?php echo base_url();?>estoque/ajuste/adicionar/" <== COMO PASSO O ID SELECIONADO AQUI, PARA ABRIR A PÁGINA COM O ID DO DPTO ? class="btn btn-cinza">Adicionar</a> </div> </div> </div> </div>  
      Observação: preciso capturar e passar o ID para gerar TABELA referente a cada departamento.
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Tem como passar para o Formulário um Campo vindo via AJAX no formato moeda ?
       
      Tenho uma rotina onde o usuário escolhe através de uma Lista na modal de Produtos e o sistema informa o formulário os seguintes campos:
      código | descrição | espécie | estoque atual.
       
      o estoque atual preciso passar nesse formato, para validação de quantidade: 15.00 ou 15,00.
      ou seja:
      converter de: 15 
      para: 15.00 com casas decimais

      tem como fazer isso ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Tem como passar para o Formulário um Campo vindo via AJAX no formato moeda ?
       
      Tenho uma rotina onde o usuário escolhe através de uma Lista na modal de Produtos e o sistema informa o formulário os seguintes campos:
      código | descrição | espécie | estoque atual.
       
      o estoque atual preciso passar nesse formato, para validação de quantidade: 15.00 ou 15,00.

      tem como fazer isso ?
       
      Grato,
       
      Cesar
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.