Ajax return error - Json format with PHP

2

Good evening. I can not find the error. I want to assemble a list as I inform the date in the input date. Below is the html:

    <div class="form-group">
                <label for="data_aula">Turma</label>
            <div >
              <select class="form-control" name="turma" id="turma">
                  <option></option>
                  <option value="Iniciante">Iniciante</option>
                  <option value="Avançado">Avançado</option>
                </select>
            </div>
             </div>

        <div class="form-group">
            <label for="data_aula">Informe a Data de Aula</label>
        <input  class="form-control" id="data_aula" name="data_aula" type="date" placeholder="dd/mm/aaaa" required="required" />
        </div>

Then below is the table that should be filled:

<form name="form1" class="form-horizontal" method="POST" action="processa/proc_notas_geral.php">
<div class="row">
    <div class="col-md-6">
        <table class="table table-striped table-hover table-condensed" id="tabela">
            <thead>
                <th>Foto</th>
                <th>Nome</th>
                <th>Marcar</th>
            </thead>
            <tbody>
                <!--aqui quero montar minha tabela -->
            </tbody>
        </table>

        <div class="form-group">
            <button type="submit" class="btn btn-success" id="sendListaAluno">Enviar Notas</button>
        </div>
    </div>
</div>

Now below the code to perform ajax:

<script type="text/javascript">

$(document).ready(function(){


    $('#data_aula').change(function() {

        var data_aula = $('#data_aula').val();

        var turma = $('#turma').val();


        if(turma.length == 0){
        alert("A turma não foi selecionada ainda.");
        return;
        }

        $.ajax({
                type    :   'post', 
                dataType: 'json',
                url     :   'processa/proc_lista_alunos_presentes.php',
                data    : {data_aula: data_aula, turma : turma},
                success: function (dados) {

                linha = "";
                if (dados == ""){
                    alert ("Não retornou nada!");
                    return;
                }
                for (i = 0; i < dados.length; i++) {
                    var caminho_foto = dados[i].imagem==""? "imagens/sem_imagem.png" : "fotos/" + dados[i].imagem;

                    linha += "<td hidden='true'>" + dados[i].id  + "</td>";
                    linha += "<td><img src=" + caminho_foto  + " width='60' height='60' name='foto_aluno' class='img-circle img-responsive'></td>";
                    linha += "<td style='text-align: left'>" + dados[i].nome + "</td>";
                    linha += "<td style='text-align: center'> <input type='checkbox' class='form-check-input'  value=" + dados[i].id  + "</td>";
                    $('#tabela tbody').html(linha);
                }
        }
      });
    })
 })

And in php it contains the return as follows:

  <?php
session_start();
include_once("../seguranca.php");
include_once("../conexao.php");

$data_aula = $_POST['data_aula'];
$turma = $_POST['turma'];

$query_somente_alunos_presentes="SELECT 
 a.id_membro as id,
 a.nome, a.imagem
 FROM 
 MEMBROS a, FREQUENCIA c
 where A.id_tipo_membro=2  AND
 C.id_membro = A.id_membro AND
 C.data_aula = '$data_aula' AND
 A.turma ='$turma'
 ORDER BY nome;";

$sql = mysqli_query($conn,$query_somente_alunos_presentes);
$linhas=mysqli_num_rows($sql); 
if( $linhas > 0 ) {

     while($resultado = mysqli_fetch_assoc($qryLista)){
        $vetor[] = array_map('utf8_encode', $resultado); 
    }    
    //Passando vetor em forma de json
    echo json_encode($vetor);

    } 
?>

I do not know if there are any errors in the parameters of ajax, or in my php return. It does not return anything, and when I go to the browser console it does not point to errors!

I entered a console.log as the maigo oriented here, and the output came out as follows:

    (2) [{…}, {…}]
0
:
{id: "42", nome: "Antonio cesar paulo", imagem: "Antonio_1521556093.jpg"}
1
:
{id: "35", nome: "Artur Souza Oliveira", imagem: ""}
length
:
2
__proto__
:
Array(0)

I opened the Chrome developer tool went to the console. My table has not been populated.

    
asked by anonymous 20.03.2018 / 22:05

1 answer

0

I was wrong with the code that performs the query in the database, the variable '$ qryList', is out of context, the correct one is: '$ result'.

    
21.03.2018 / 19:40