Jump to content
Jack Oliveira

Pegando Id_user pelo DataTables

Recommended Posts

Ola pessoal boa noite

 

Vou tentar resumir da melhor forma aqui o que preciso 

 

Seria o seguinte estou pegando os dados do banco de dados para serem listando pelo datatables usando php

 

Ao lista todos conteudos do banco funciona normal até aqui esta perfeito

 

Porem em outra parte que seria para os clientes que tiverem seus dados cadastros e eles mesmo forem atualizar que cada um deles veja seus dados entende?

 

Fiz de algumas formas pensando que daria certo porem não tive resultados que preciso.

 

Espero que possam entender o que preciso irei posta apenas a parte do que esta sendo o problema, creio que vocês que tem melhor conhecimento vai entender....

 

 

<?php
header('Content-Type: application/json');
require_once ('../database/config.php');
require_once ('../database/config.database.php');
require_once ('../database/config.session.php');
require_once('../includes/funcoes.php');
require('../controller/ssp.class.php');

$sql_details = array(
  'user' => DB_USERNAME,
  'pass' => DB_PASSWORD,
  'db'   => DB_DATABASE,
  'host' => DB_HOSTNAME
);
//$table = DBRead('listagem','id_user',"WHERE id_user = '".DadosSession('id')."'")
//$table        = 'listagem'; // Desta forma lista tudo, mais não é o que preciso
/*no console sempre da erro nesta linha */$table        = 'listagem','id_user',"WHERE id_user = '".DadosSession('id')."'"; // Quero que me mostra apenas cada item por usuario
$primaryKey   = 'id';
$columns      = array(
  array(
    'db' => 'id',
    'dt' => 0,
    'formatter' => function ($id, $row) {
      ob_start();
?>
<?
//Aqui vai mais colunas

?>
<?php
//Aqui seria o final do código
      return ob_get_clean();
    }
  )
);

$response = SSP::simple($_GET, $sql_details, $table, $primaryKey, $columns);

echo json_encode($response);

?>

Coloquei apenas mais o que esta sendo preciso aqui sobre o PHP

Share this post


Link to post
Share on other sites

Eu já não uso mais datatables.

Eutenho um sistema que de acordo o nome de usuário usado, é direcionado pro banco de dados do usuário.

Se o banco for o mesmo para todos, você pode pegar o id do usuário, colocar na sesssão, então na query do datatables você colocha o critério. 

where table_name.id = variavel com o id do usuário

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 Luccas Gaulia
      O DataTables está funcionando, todos os Buttons funcionam e chamam a tabela, estou utilizando load para abrir a tabela por ajax, faz o reload normalmente, porém as demais ações não, como:
      Paginação, clica na página 2, muda as descrições abaixo e o número da página, mas não muda as linhas;
      Buscar, não funciona, porém utilizando uma busca externa com myFunction de uma coluna, funciona;
      Ordenar, não funciona, o ícone até muda para baixo ou para cima...
      O que estou entendendo que os valores puxados pelo Ajax da lista gerado pelo PHP estão estáticas e nada muda.
      Quando utilizava o foreach dentro da página e listava tudo, funciona corretamente... Estava querendo separar para poder trabalhar com reload e colocar inserir e editar com modais sem precisar atualizar a página.
      equipAll.php
      <?php include '../datasourceGestao.php'; $datasource = new datasource(); $result = $datasource->getAllEquip(); $row = array(); foreach ($result as $array) { $row[] = array('admin_id' => $array['admin_id'], 'first_name' => $array['first_name'], 'last_name' => $array['last_name'], 'email' => $array['email'], 'gender' => $array['gender'], 'birth_date' => $datasource->invertDate($array['birth_date']), 'telephone' => $array['telephone'], 'mobile' => $array['mobile'], 'nivel' => $array['nivel'], 'status' => $array['status'] ); } $output = array( "draw" => intval($_POST["draw"]), "iTotalRecords" => count($row), "iTotalDisplayRecords" => count($row), "aaData" => $row ); $response = json_encode($output); echo $response; ?> $(document).ready(function () { var table = $('#myTable').DataTable( { dom: 'Bfrtip', processing:true, serverSide:true, ajax:{ "url": "php_action/equipAll.php", "type":"POST" }, autoWidth: false, responsive: true, orderCellsTop: true, bFilter: true, fixedHeader: false, deferRender: true, pagingType: "full_numbers", lengthMenu: [ [ 10, 25, 50, -1 ], [ '10 linhas', '25 linhas', '50 linhas', 'Todos' ] ], searching: true, select: true, select: { style: 'multi+shift', }, columns: [ { data: 'admin_id' }, { data: 'action' }, { data: 'first_name'}, { data: 'last_name' }, { data: 'email' }, { data: 'gender', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("1"==sData){ $(nTd).html("<i class='fas fa-venus ze-icon-m'></i>"); } else if("2"==sData){ $(nTd).html("<i class='fas fa-mars ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-venus-mars ze-icon-m'></i>"); } } }, { data: 'birth_date' }, { data: 'telephone' }, { data: 'mobile' }, { data: 'nivel', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("1"==sData){ $(nTd).html("<i class='fas fa-user-tie ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-user ze-icon-m'></i>"); } } }, { data: 'status', "defaultContent": "", "fnCreatedCell": function (nTd, sData, oData, iRow, iCol) { if("2"==sData){ $(nTd).html("<i class='fas fa-toggle-on ze-icon-m'></i>"); } else{ $(nTd).html("<i class='fas fa-toggle-off ze-icon-m'></i>"); } } } ], columnDefs: [ { "targets": [ 0 ], "visible": true, "searchable": true, "data": "admin_id" }, { "targets": [ 1 ], "data": null, "defaultContent": "<div class='btn-group' role='group' aria-label='Button group with nested dropdown'><div class='btn-group' role='group'><button id='btnGroupDrop1' type='button' class='btn btn-secondary dropdown-toggle' data-toggle='dropdown' aria-haspopup='true' aria-expanded='false'><i class='fas fa-cogs ze-icon-m' aria-hidden='true'></i></button><div class='dropdown-menu' aria-labelledby='btnGroupDrop1'><button type='button' class='btn btn-link' id='Detail' name='Detail'><i class='fas fa-eye ze-icon-m' aria-hidden='true'></i></button><button type='button' class='btn btn-link' id='Edit' name='Edit'><i class='fas fa-edit ze-icon-m'></i></button><button type='button' class='btn btn-link' id='confirmDelete' name='confirmDelete'><i class='fas fa-trash-alt ze-icon-m'></i></button><button type='submit' class='btn btn-link' id ='confirmStatus' name='confirmStatus'><i class='fas fa-toggle-on ze-icon-m'></i></button></div></div></div> " }, { "targets": [ 2 ], "visible": true, "searchable": true, "data": "first_name" }, { "targets": [ 3 ], "visible": true, "searchable": true, "data": "last_name" }, { "targets": [ 4 ], "visible": true, "searchable": true, "data": "email" }, { "targets": [ 5 ], "visible": false, "searchable": true, "data": "gender", }, { "targets": [ 6 ], "visible": false, "searchable": true, "data": "birth_date" }, { "targets": [ 7 ], "visible": false, "searchable": true, "data": "telephone" }, { "targets": [ 8 ], "visible": false, "searchable": true, "data": "mobile" }, { "targets": [ 9 ], "visible": false, "searchable": true, "data": "nivel" }, { "targets": [ 10 ], "visible": false, "searchable": false, "data": "status" } ], buttons: [ { extend: '', text: '<i class="fa fa-user-plus ze-icon-gg" style="color:blue;"></i>', titleAttr: 'Novo Registro', action: function (e, node, config){ $('#myModalInsert').modal('show') } }, { extend: 'pageLength', text: '<i class="fas fa-list-ol ze-icon-gg" style="color:purple;"></i>', titleAttr: 'Mostrar', }, { extend: 'copyHtml5', text: '<i class="fas fa-copy ze-icon-gg" style="color:gray;"></i>', titleAttr: 'Copiar', key: { key: 'c', altKey: true }, exportOptions: { modifier: { page: 'current', columns: ':visible' } } }, { extend: 'excelHtml5', text: '<i class="fas fa-file-excel ze-icon-gg" style="color:green;"></i>', titleAttr: 'Excel', exportOptions: { modifier: { page: 'current', columns: ':visible' } } }, { extend: 'pdfHtml5', text: '<i class="far fa-file-pdf ze-icon-gg" style="color:red; background-color:transparent;"></i>', titleAttr: 'PDF', orientation: 'A4', //portrait or landscape alignment: 'center', pageSize: 'LEGAL', exportOptions: { columns: ':visible' } }, { extend: 'print', text: '<i class="fas fa-print ze-icon-gg" style="color:orange;"></i>', titleAttr: 'Print', exportOptions: { columns: ':visible' } }, { extend: 'colvis', text: '<i class="fas fa-columns ze-icon-gg"></i>', titleAttr: 'Alterar Colunas Visiveis', "columns": ':not(.noVis)' }, { extend: 'selectNone', text: '<i class="fas fa-th ze-icon-gg"></i>', titleAttr: 'Remover todos os selecionados' }, { extend: 'selectRows' , text: '<i class="fas fa-minus ze-icon-gg"></i>', titleAttr: 'Selecionar linha(s)' }, { extend: 'selectColumns', text: '<i class="fas fa-th-large ze-icon-gg"></i>', titleAttr: 'Selecionar coluna(s)' }, { extend: 'selectCells', text: '<i class="fas fa-object-group ze-icon-gg"></i>', titleAttr: 'Selecionar celula(s)' } ], language: { "decimal": "", "emptyTable": "Não avaliação deste registro", "info": "Mostrar de _START_ a _END_ de _TOTAL_ registros", "infoEmpty": "Mostrar 0 de 0 de 0 registros", "infoFiltered": "(Total de _MAX_ registros de entradas)", "infoPostFix": "", "thousands": ",", "lengthMenu": "Mostrar _MENU_ registros", "loadingRecords": "Carregando...", "processing": "Processando...", "search": "Buscar:", "zeroRecords": "Não há registros", "paginate": { "first": "<<", "last": ">>", "next": ">", "previous": "<" }, "loadingRecords": '&nbsp;', "processing": 'Processando...', "aria": { "sortAscending": ": Coluna ativa em ordem ascendente", "sortDescending": ": Coluna ativa em ordem descendente" }, "select": { "rows": { "_": "(Selecionado %d linhas)", "0": "(Nenhuma linha selecionada)", "1": "(Selecionado 1 linha)" }, "columns": { "_": "(Selecionado %d colunas)", "0": "(Nenhuma coluna selecionada)", "1": "(Selecionado 1 coluna)" } }, "buttons": { "copy": "Copiar para a área de transferência", "copyTitle": "Cópia bem sucedida", "copySuccess": { "1": "Uma linha copiada com sucesso", "_": "%d linhas copiadas com sucesso" } } } }); <table id="myTable" class="table table-striped table-hover display nowrap dataTable" cellspacing="0"> <thead class="thead-dark"> <th class="ze-center" data-priority="1">ID</th> <th class="ze-center" data-priority="1">Opções</th> <th class="w-50" data-priority="1">Nome</th> <th class="w-50" data-priority="1">Sobrenome</th> <th class="ze-center">E-mail</th> <th class="ze-center">Gênero</th> <th class="ze-center">Dt Nasc.</th> <th class="ze-center">Telefone</th> <th class="ze-center">Mobile</th> <th class="ze-center">Nivel</th> <th class="ze-center">Status</th> </thead> <tbody> <?php if (count($result) == 0) { ?> <td colspan="4">Não há Membros Cadastrados</td> <?php } else { foreach ($result as $array) { ?> <tr> <td><?php echo utf8_encode($array['admin_id']); ?></td> <td> </td> <td class="ze-left"> <?php echo utf8_encode($array['first_name']); ?> </td> <td><?php echo utf8_encode($array['last_name']); ?></td> <td><?php echo utf8_encode($array['email']); ?></td> <td><?php echo ($array['gender'] == 1 ? "Masculino" : "Feminino"); ?></td> <td><?php echo utf8_encode($array['birth_date']); ?></td> <td><?php echo utf8_encode($array['telephone']); ?></td> <td><?php echo utf8_encode($array['mobile']); ?></td> <td><?php echo utf8_encode($array['nivel']); ?></td> <td><?php echo utf8_encode($array['status']); ?></td> </tr> <?php } } ?> </tbody> <tfoot class="thead-dark"> <th class="ze-center">ID</th> <th class="ze-center">Opções</th> <th>Nome</th> <th>Sobrenome</th> <th class="ze-center">E-mail</th> <th class="ze-center">Gênero</th> <th class="ze-center">Dt Nasc.</th> <th class="ze-center">Telefone</th> <th class="ze-center">Mobile</th> <th class="ze-center">Nivel</th> <th class="ze-center">Status</th> </tfoot> </table>  
    • By edionas
      Bom dia,
      a tempos venho tentando exibir o conteudo dos links abaixo na forma de tabela organizada, usando importação dos dados atraves do link:
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes.xml?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes.json?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      Porem não tenho conseguido exito.
    • By Wesley Kovalski
      Estou usando a DataTables, e puxando os dados no banco de dados, porém está dando um erro em alguns dados que vem do banco, parece que é espaços, ou acentos, mas no console não mostra o erro!

      Erro: DataTables warning: table id=example - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

      Alguém já teve esse tipo de erro?
    • By fydellys
      Olá companheiros, estou desenvolvendo uma listagem de noticias com Datatables Server-side devido a aglomeração de dados futuros e estou com um pequeno problema.
       
      O problema é quando irei acrescentar os dados para as colunas no $nestedData, onde irá imprimir todos os dados somente funciona até a segunda coluna. Ocorrendo o erro: DataTables warning: table id=server-side - Requested unknown parameter '2' for row 0, column 2. For more information about this error, please see http://datatables.net/tn/4
      Caso eu adicione para imprimir a terceira coluna, dá erro! A Datatabless para. Conforme foto.
       

      JS Datatables
      <script> $(document).ready(function(e){ $('#server-side').dataTable({ "bProcessing": true, "serverSide": true, language: { processing: "Processando...", }, "ajax":{ url :"server-side/nov.php", type: "POST", }, "order": [ 0, "desc"], }); table.destroy(); table = $('#server-side').DataTable( { searching: false } ); });  
      Código PHP
      <?php require_once '../database/mysql.php'; $db = new Mysql; $params = $columns = $totalRecords = $data = array(); $params = $_REQUEST; $columns = array( 0 => 'noticia_id', 1 => 'noticia_foto', 2 => 'noticia_title', 3 => 'noticia_category', 4 => 'noticia_data', 5 => 'noticia_autor' ); $where_condition = $sqlTot = $sqlRec = ""; if( !empty($params['search']['value']) ) { $where_condition .= " WHERE "; $where_condition .= " ( noticia_title LIKE '%".$params['search']['value']."%' "; $where_condition .= " OR noticia_content LIKE '%".$params['search']['value']."%' )"; } $sql_query = "SELECT noticia_id, noticia_foto, noticia_title, noticia_category, noticia_data, noticia_autor FROM noticia "; $sqlTot .= $sql_query; $sqlRec .= $sql_query; if(isset($where_condition) && $where_condition != '') { $sqlTot .= $where_condition; $sqlRec .= $where_condition; } $sqlRec .= " ORDER BY ". $columns[$params['order'][0]['column']]." ".$params['order'][0]['dir']." LIMIT ".$params['start']." ,".$params['length']." "; $db->query( $sqlTot )->fetchAll(); $totalRecords = $db->rows; $db->query( $sqlRec )->fetchAll(); if ($db->rows >= 1): $querys = $db->data; foreach ($querys as $query): $q = (object) $query; if ( $q->noticia_foto == "" || strlen( $q->noticia_foto ) <= 1 ) { $foto = "../images/sem-foto.jpg"; } else { $foto = "../thumb.php?img=uploads/noticias/$q->noticia_foto"; } $queryRecords = $db->rows; $nestedData = array(); $nestedData[] = $q->noticia_id; $nestedData[] = "<img src=\"$foto\" style=\"width:40px; height:30px;\" />"; // SÓ IMPRIMI ATÉ AQUI //$nestedData[] = $q->noticia_title; //$nestedData[] = $q->noticia_category; //$nestedData[] = $q->noticia_data; //$nestedData[] = $q->noticia_autor; //$nestedData[] = "Ações"; $data[] = $nestedData; endforeach; endif; $json_data = array( "draw" => intval( $params['draw'] ), "recordsTotal" => intval( $totalRecords ), "recordsFiltered" => intval( $totalRecords ), "data" => $data ); echo json_encode($json_data); ?>  
      Alguém pode me ajudar? já tentei de todas as formas possíveis mais o erro persiste! 
    • By vazzoler
      Bom dia. Estou usando o dataTables e em uma das colunas eu coloquei um input:checkbox para o usuário poder marcar ou desmarcar todas colunas, lembrando que nas colunas eu tenho como fazer a ordenação quando clica na barra de título e nessa coluna também tem isso. Até ai tudo funcionando. O que não estou sabendo como fazer é que, quando o usuário clica no checkbox não faça a ordenação, somente fazer essa ordenação, pois quando ele clica para marcar ou desmarcar já faz a ordenação, e isso que não pode acontecer. Como faço para tirar a ordenação apenas desta coluna?
       

×

Important Information

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