Jump to content
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.

Share this post


Link to post
Share on other 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;
}

     }

 

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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;
}

     }

 

Share this post


Link to post
Share on other 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;

 

Share this post


Link to post
Share on other 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;
}

     }

 

Share this post


Link to post
Share on other 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?

Share this post


Link to post
Share on other 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........

Share this post


Link to post
Share on other 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'];

 

Share this post


Link to post
Share on other 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!

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By henriquers
      Estou com um problema com o Select2, ele tem um campo de busca mas não esta filtrando corretamente e não estou entendo o motivo, sem utilizar o AJAX colocando os options manualmente ele funciona corretamente, mas trazendo os dados via AJAX ele não funciona o campo de busca.
      Se aguem poder me dar uma luz agradeço a ajuda.
       

       
      Nessa imagem estou tentando filtrar apenas para os itens que tenha LUVA na descrição, mas não funciona, posso colocar qual quer coisa que ele não faz o filtro
       
      Abaixo segue meu codigo
       
      HTML
      <!DOCTYPE HTML PUBLIC> <HTML> <HEAD> <TITLE> Select2 </TITLE> <link href="select2/select2.css" rel="stylesheet" type="text/css" /> <script src="https://code.jquery.com/jquery-latest.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n/pt-BR.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" rel="stylesheet"/> <script> $(document).ready(function(){ $("#selUser").select2({ language: "pt-br", ajax: { url: "get_dados.php", type: "GET", dataType: 'json', delay: 200, data: function (params) { return { q: params.term, // search term page: params.page }; }, processResults: function (response) { return { results: response }; }, cache: true }, width: "20%", closeOnSelect: true, }); }); </script> </head> <body> <select id='selUser' style='width: 200px;'> <option value='0'>- Search user -</option> </select> </body> </html> get_dados.php
      <?php include './conn_orcl.php'; $select="SELECT PRO_CODPRO PRODUTO,TRIM(PRO_DESCRI) DESCRICAO FROM F_PRODS WHERE PRO_LOCEST='ALMOX' AND PRO_STATUS = 'AT' ORDER BY DESCRICAO"; $parse=oci_parse($conn,$select); oci_execute($parse); $data = array(); while($row=oci_fetch_array($parse)){ $data[] = array("id"=>$row['PRODUTO'], "text"=>$row['PRODUTO']." - ".$row['DESCRICAO']); }; echo json_encode($data); ob_end_flush(); oci_free_statement($parse); oci_close($conn); ?>  
    • By Jack Oliveira
      Boa noite pessoal
       
       
      Quero fazer uma verificação em tempo real no banco de dados antes de clicar para cadastra, ver se o nome que esta no input name="nome_empresa_link"   ver se ele já existe no banco de dados. no caso so permitir preencher outro campos se o input que esta sendo verificado estiver correto ou seja tudo ok...
       
      Lembrando este input ele é preenchido conforme é digitado no input name="nome_empresa"  Não sei se isso interfere ao fazer a verificação
       
      HTML
             <div class="col-md-6">         <div class="form-group">          <label for="nome_empresa">Nome</label>          <input type="text" autocomplete="off" id="nome_empresa" maxlength="100"  name="nome_empresa" class="form-control input_nome_empresa" required placeholder="Nome da Loja">        </div>      </div>      <div class="col-md-6">       <div class="form-group">        <label for="nome_empresa_link">Url Amigavél</label> <em id="resposta"></em>        <input type="text" autocomplete="off"  id="nome_empresa_link" name="nome_empresa_link" maxlength="100" class="form-control input_nome_empresa_link" required placeholder="/ Use maiúsculas, minúsculas e underline.">        <?= $site; ?><span><em style="color: green;" id="nome_empresa_link"></em>/</span>      </div>    </div> No PHP fazer verificação fiz isso...
      <?php if(isset($_POST['nome_empresa_link'])) { $nome_empresa_link=$_POST['nome_empresa_link']; $checkdata = DBCount('ws_empresa','nome_empresa_link',"WHERE nome_empresa_link = '{$nome_empresa_link}'"); if ($checkdata >= 0) { //echo "Um nome igual este já esta sendo usado no sistema"; swal('Atenção!!!', 'A URL AMIGAVÉL não disponivél para cadastro \n tente com outro nome!', 'warning', 'Fechar'); } /*else { echo "<font color='green'>Disponivél...</font>"; } */ exit(); } ?> No ajax fiz assim
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script language="javascript"> var nome_empresa_link = $("#nome_empresa_link"); nome_empresa_link.blur(function() { $.ajax({ url: 'notificacao/checkdata.php', type: 'POST', data:{"nome_empresa_link" : nome_empresa_link.val()}, success: function(data) { console.log(data); data = $.parseJSON(data); $("#resposta").text(data.nome_empresa_link); } }); }); </script> Só que não retorna nada
       
       
    • By terra
      Olá,
       
      preciso enviar os últimos 10 registros para um único e-mail, mas o código abaixo esta enviando separado
       
       
      agradeço qualquer ajuda
    • By eStevo2734
      Pequei esse código, porém não funciona por nada pela minha capacidade que não é muita em PHP, já mudei ele de todas as formas possível e não funciona.
       
      <?php if(!empty($_FILES['xml']['tmp_name'])){ $arquivo = new DomDocument(); $arquivo->load($_FILES['xml']['tmp_name']); //var_dump($arquivo); $linhas = $arquivo->getElementsByTagName("processo"); //var_dump($linhas); $primeira_linha = true; foreach($linhas as $linha){ if($primeira_linha == false){ // pegar o valor natureza="Produtos e/ou Serviço" no elemento <marca> $nome = $linha->getElementsByTagName("nome")->item(0)->nodeValue; echo "Nome: $nome <br>"; $email = $linha->getElementsByTagName("status")->item(1)->nodeValue; echo "Status: $email <br>"; echo "<hr>"; } $primeira_linha = false; } } ?>  
      O arquivo em XML é beemmm longo
      <?xml version="1.0" encoding="UTF-8" ?> <revista numero="2620" data="23/03/2021"> <processo numero="922151156" data-deposit <despachos> <despacho codigo="IPAS009" nome="Publ </despachos> <titulares> <titular nome-razao-social="HERIK DE </titulares> <marca apresentacao="Mista" natureza="P <nome>SOTEN</nome> </marca> <classes-vienna> <classe-vienna codigo="27.5.1" edicao <classe-vienna codigo="28.3" edicao=" <classe-vienna codigo="26.2.7" edicao <classe-vienna codigo="29.1.15" edica </classes-vienna> <lista-classe-nice> <classe-nice codigo="41"> <especificacao>Agente artístico; li <status>Pendente</status> </classe-nice></lista-classe-nice> <procurador>TENAX SERVIÇOS DE CONSULTOR </processo> <processo numero="920178898"> <despachos> <despacho codigo="IPAS029" nome="Defe </despachos> <titulares> <titular nome-razao-social="DEIVISSON </titulares> <lista-classe-nice> <classe-nice codigo="25"> <especificacao>Bandanas;Bermudas;Bo <status>Deferida</status> </classe-nice> </lista-classe-nice> </processo> Os valores que estou tentando pegar são <nome>
      <status>. Mas também queria tentar pegar os
      valores nome-razao-social="..." e natureza. Penso que
      pode ter algo a ver com o tamanho do arquivo que é um
      pouco maior do que o habitual, girando em torno de
      30 MB e no total vão ter que tirar as informações 22 109
      que é o número de vezes que esse modelo de exemplo
      se repete no documento Mas como disse não sei muito
      sobre PHP é uma suposição)...
    • By Mauricio Molina
      Ola pessoal,
       
      Estou com probleminha, preciso gerar um PDF de alguns dados do BD, até consegui gerar o PDF (quando especifico o id), mas preciso que ao clicar no botão corresponde de uma lista de ordem de serviço, o PDF seja gerado de acordo com o ID da ordem de serviço.
       

       
      Botão:
      <a type="button" class="btn btn-sm btn-info" href="gerar_pdf.php?id=<?php echo $rows_cursos['id']; ?>" target="_blank" >PDF</a> Gerar PDF:
      <?php include ('pdf/mpdf.php'); include_once("../conexao/conexao.php"); //Criar a conexão $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); if(!$conn){ die("Falha na conexao: " . mysqli_connect_error()); }else{ //echo "Conexao realizada com sucesso"; } $id = '17'; //***Aqui seria onde busca o ID da Ordem de Serviço*** $result_usuario = "SELECT * FROM ordem_servico WHERE id = '$id' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $row_usuario = mysqli_fetch_assoc($resultado_usuario); $pagina = "<html> <body> <h2>Ordem de Serviço Eletrobrastec</h2><p></p> <strong>Empresa:</strong> Eletrobrastec                                          <strong>Data:</strong> ".$row_usuario['date']."              <strong>Número OS:</strong> ".$row_usuario['id']." <p></p> <strong>Edereço:</strong> Rua Santo Agostinho, 860            <strong>Bairro:</strong> Caiçara        <strong>Cidade:</strong> Praia Grande       <strong>UF:</strong> SP <p></p> <strong>CNPJ:</strong> 288.880.270/0018-1         <strong>DD:</strong> 13         <strong>Telefone:</strong> 99757-6400 <hr> <h2>Dados do Cliente</h2> <p></p> <strong>Nome:</strong> ".$row_usuario['nome']."                                          <strong>Data Execução:</strong> _______________________ <p></p> <strong>DD:</strong> ".$row_usuario['dd']."                       <strong>Telefone:</strong> ".$row_usuario['telefone']."               <strong>E-mail:</strong> ".$row_usuario['email']." <p></p> <strong>CPF:</strong> ".$row_usuario['cpf']."               <strong>CNPJ:</strong> ".$row_usuario['cnpj']." <p></p> <strong>Aparelho:</strong> ".$row_usuario['aparelho']."                 <strong>Modelo:</strong> ".$row_usuario['modelo']."                  <strong>Defeito:</strong> ".$row_usuario['defeito']." <p></p> <strong>Taxa:</strong> _______________________                       <strong>Valor Total:</strong> ".$row_usuario['v_total']." <p></p> <strong>Descrição Serviço:</strong> ".$row_usuario['desc_servico']." <p></p><p></p><p></p><p></p><p></p><p></p><p></p> <strong>Observações:</strong> _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ <p></p><p></p><p></p><p></p> <label>*A taxa de visita apenas será cobrada caso o cliente não realize o serviço, caso não queira e posteriormente venha realizar, a mesma será descontada.<label> </body> </html> "; $arquivo = "ordemservico.pdf"; $mpdf = new mPDF(); $mpdf->WriteHTML($pagina); $mpdf->Output($arquivo, 'I'); // I - Abre no navegador // F - Salva o arquivo no servido // D - Salva o arquivo no computador do usuário ?> Neste caso percebem que esta sendo gerado um PDF com a ordem de serviço de ID 17, tudo correto, porem gostaria que neste item, fosse gerado de acordo com o botão clicado.
       
      $id = '17'; //***Aqui seria onde busca o ID da Ordem de Serviço*** $result_usuario = "SELECT * FROM ordem_servico WHERE id = '$id' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $row_usuario = mysqli_fetch_assoc($resultado_usuario);  
      Alguém pra dar uma força?
       
      Obrigado!
       
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.