Parameter by Ajax

0

I need to pass some arguments through Ajax, at first the code has a syntax error.

            var comeco = $("data_filtroe").val();
            var fim = $("data_filtrod").val();    
            jQuery.ajax({
                type: "get",
                url: "status_relatorio.php",
                data: "comeco="+comeco+" && fim="+fim,
                success: function(data){
                    document.querySelector('#status_dia').innerHTML = data;
                }
            });

PHP code ("status_report.php"):

<?php 
session_start();
$con = mysql_pconnect("localhost","root","eeep_#2017");
mysql_query("SET NAMES 'utf8'");
mysql_query('SET character_set_connection=utf8');
mysql_query('SET character_set_client=utf8');
mysql_query('SET character_set_results=utf8');
mysql_select_db("alunos",$con);
setlocale( LC_ALL, 'pt_BR', 'pt_BR.iso-8859-1', 'pt_BR.utf-8', 'portuguese' ); 
date_default_timezone_set( 'America/Fortaleza' );
$data_inicio = $_GET['comeco'];
$data_fim = $_GET['fim'];
$data="";
for ($i=$data_inicio; $i <= $data_fim; $i++) { 
    if($data==""){
        $data = "data = ".$i;
    }else{
        $data = "and data = ".$i;
    }
}
if($data_inicio==$data_fim){
$data = "data=".$data_inicio;
}
$sql = "select * from ocorrencias where '$data' order by curso, nome_aluno asc";
$resultado = mysql_query($sql,$con);
$cont = 0;
$falta = 0;
$falta_justificada = 0;
$fardamento_incompleto = 0;
$es_autorizada = 0;
$indis = 0;
while($linha1 = mysql_fetch_array($resultado)){
    $cont++;
    if($linha1['tipo']=="Falta"){
        $falta++;
    }
    if($linha1['tipo']=="Falta Justificada"){
        $falta_justificada++;
    }
    if($linha1['tipo']=="Fardamento Incompleto"){
        $fardamento_incompleto++;
    }
    if($linha1['tipo']=="Entrada/Saída Autorizada"){
        $es_autorizada++;
    }
    if($linha1['tipo']=="Indisciplína"){
        $indis++;
    }
}
        echo "<table cellpadding='3' id='status_dia'>
            <tr>
                <td class='status'>Faltas: <label>".$data_inicio."</label></td>
                <td class='status'>Faltas Justificadas: <label>".$falta_justificada."</label></td>
                <td class='status'>Fardamentos Incompletos: <label>".$fardamento_incompleto."</label></td>
                <td class='status'>Entradas/Saídas Autorizadas: <label>".$es_autorizada."</label></td>
                <td class='status'>Indisciplína: <label>".$indis."</label></td>
                <td class='status'>Total: <label>".$cont."</label></td>
            </tr>
        </table>";?>

    
asked by anonymous 25.08.2017 / 00:27

1 answer

1

According to the jQuery documentation you need to submit data in PlainObject format, String or Array .

  

Data type: PlainObject or String or Array Data to be sent to the   server. It is converted to a query string, if not already the string.   It's appended to the url for GET-requests. See processData option to   prevent this automatic processing. Object must be Key / Value pairs. If   value is an Array, jQuery serializes multiple values with same key   based on the value of the traditional setting (described below).

Type the code below:

        // Supondo que "data_filtroe" é uma classe. 
        // Se for um ID, utilize $("#data_filtroe").val(); 
        var comeco = $(".data_filtroe").val();
        // Supondo que "data_filtrod" é uma classe.
        // Se for um ID, utilize $("#data_filtrod").val();    
        var fim = $(".data_filtrod").val();    
        jQuery.ajax({
            method: "POST",
            dataType: "json",
            url: "status_relatorio.php",
            data: { "comeco": comeco, "fim": fim },
            success: function(data){
                document.querySelector('#status_dia').innerHTML = data;
            }
        });

Remembering that:

  • GET - Search, require, request data from some specified place.

  • POST - Sends the data to be processed somewhere specified.

  • 25.08.2017 / 00:31