Ir ao conteúdo
  • Cadastre-se

Duvidas jquery datatables


Posts recomendados

Fala galera beleza ?

Eu estava pesquisando na internet sobre fazer o datatables carregar os dados a partir de uma arquivo json tentei fazer o exemplo do site
 

mas ele não gera o arquivo json e quando gera o arquivo fica desorganizado e apresenta o erro invalided json...

pesquisei de tudo quanto é forma para fazer funcionar mas eu não encontrei uma solução.
estou desenvolvendo sistema para a empresa em que trabalho e estou utilizando o jquery datatables.

código js:

$("#myGrid").dataTable({
        "scrollY": 300,
        "scrollX": true,
        "bJQueryUI": true,
        "processing":true,
        "serverSide":true,
        "ajax": {
          "dataTtype":"json",
          "url":"../app/view/js/jsonp.php"
        },
        "oLanguage": {
            "sProcessing": "Processando...",
            "sLengthMenu": "Mostrar _MENU_ registros",
            "sZeroRecords": "Não foram encontrados resultados",
            "sInfo": "Mostrando de _START_ até _END_ de _TOTAL_ registros",
            "sInfoEmpty": "Mostrando de 0 até 0 de 0 registros",
            "sInfoFiltered": "",
            "sInfoPostFix": "",
            "sSearch": "Buscar:",
            "sUrl": "",
            "oPaginate": {
                "sFirst": "Primeiro",
                "sPrevious": "Anterior",
                "sNext": "Próximo",
                "sLast": "Último"
            }
        }
    });

código php do exemplo do datatables:

<?php


$table = 'bd_promotor';


$primaryKey = 'id';


$columns = array(
    array('db' => 'id', 'dt' => 0),
    array('db' => 'nome', 'dt' => 1),
    array('db' => 'rg', 'dt' => 2),
    array('db' => 'cpf', 'dt' => 3),
    array('db' => 'data_nascimento', 'dt' => 5),
    array('db' => 'mae', 'dt' => 6),
    array('db' => 'pai', 'dt' => 7),
    array('db' => 'data_cadastro', 'dt' => 8),
    array('db' => 'empresa', 'dt' => 9),
    array('db' => 'atendente', 'dt' => 10),
    array('db' => 'data_envio', 'dt' => 11),
    array('db' => 'data_retorno', 'dt' => 12),
    array('db' => 'staus', 'dt' => 13),
);

$sql_details = array(
    'user' => 'meuusuario',
    'pass' => 'minhasenha',
    'db' => 'promotor',
    'host' => 'localhost'
);


require( 'ssp.class.php' );

// Validate the JSONP to make use it is an okay Javascript function to execute
$jsonp = preg_match('/^[$A-Z_][0-9A-Z_$]*$/i', $_GET['callback']) ?
        $_GET['callback'] :
        false;

if ($jsonp) {
    echo $jsonp . '(' . json_encode(
            SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns)
    ) . ');';
}


 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Murilo Vanucci Não consegui identificar exatamente qual dos exemplos é... são mais de 80  links de exemplos no site deles. rsrs fiquei uns 20 min procurando o tal exemplo e nada.. rsrs acho que seria melhor seguir outros exemplos de outros sites.

 

Pode ser que o código de gerar o json esteja malfeito ou com algum erro de digitação.

 

Link para o comentário
Compartilhar em outros sites

@dif  Obrigado pela ajuda !

Eu acabei descobrindo o que era e o problema. O comando json_encode funciona a partir do php 5.2 como está na documentação, e na minha empresa o a versão que está rodando é php 5.1.4
e também identifiquei alguns erros no meu código.. rsrsrs :D Depois de 1 hora programando o exemplo que eu peguei do
datatables funcionou.

@dif Mais uma vez obrigado ;)

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Murilo,

Primeiramente a função json_encode é muito antiga, eu ainda tenho php 5.1 e roda.

Segundo, evite copiar e colar e colocar para rodar. Tente entender o que acontece nos bastidores. Perder um tempinho entendendo só vai te engrandecer como programador. Fazendo isto, hoje eu não uso JQuery. Tudo que o JQuery faz eu sei fazer em JS.

Não identifiquei no exemplo onde os parâmetros são passados do AJAX para a função em PHP.

nem no PHP onde os parametros são pegos na entrada.

Observando seu código JS este objeto é um objeto criado por eles, e tem funções carcterísticas dele. 

Melhor estudar um pouco mais como funciona o Ojeto "TableGrid".

Como foi citado acima é bem mais simples fazer AJAX. Está muito complexo e não identifiquei algumas partes excenciais na função.

TODA função AJAX, necessita especificar qual são os parametros passados para a torina em PHP, no paramatro "DATA", informar qual é o método se é GET ou POST. No PHP precisa pegar esses parametros, usando $_GET e $_POST.

Citação

 

 

 

Link para o comentário
Compartilhar em outros sites

@mario cesar berardoEu estava testando o datatables, eu baixei o exemplo e comecei a depurar ele.

Ele utiliza uma classe CRUD chamada SSP onde ele faz toda consulta SQL. através de um array associativo. e se conecta com a base de dados por ela. Eu estava testando o exemplo para gerar um json e através do datatables de uma forma dinâmica
ele carregasse os dados para a tabela. Quando eu fui pesquisas sobre a função json_encode na documentação do php, ela estava afirmando que era para funcionar com o php 5 >= 5.2. em outra máquina com php 5.5 o exemplo que eu estava testando funcionou normalmente. por isso que cheguei a essa conclusão.

Valeu pela dica :).

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!