Skip to main content

PHP Datatable Invalid JSON response

i have this problem with Datatable :( (Invalid JSON response) i use blade and routeone PhP code:

case 'list':
                                            {
                                                $records = DB::list(
                                                    $columns='*',
                                                    $tableName='groups',
                                                    $where='',
                                                    $whereArray=array(),
                                                    $order='order by id desc',
                                                    $limit='');
                                                switch($id)
                                                {
                                                    case 'delete-ok':
                                                        $success = messageSuccess($lang['_RECORD_DELETED_SUCCESSFULLY']);
                                                        break;
                                                    case 'delete-error':
                                                        $error = messageError($lang['_RECORD_DELETING_FAILED']);
                                                        break;
                                                }
                                                $params = array(
                                                                        'table'=>'groups',
                                                                        'pk'=>'id',
                                                                        'columns'=>array(
                                                                            array( 'db' => 'id', 'dt' => 0 ),
                                                                            array( 'db' => 'title',  'dt' => 1 ),
                                                                            array( 'db' => 'uri',   'dt' => 2 ),
                                                                            array( 'db' => 'logo',     'dt' => 3 ),
                                                                            array( 'db' => 'bio',     'dt' => 4 ),
                                                                            array( 'db' => 'type',     'dt' => 5 ),
                                                                            array( 'db' => 'date',     'dt' => 6 ,
                                                                            'formatter' => function ($date, $row) {
                                                                                $d = G2J($date);
                                                                                return '<div class="ltr text-left">'.$d['yyyy'].'-'.$d['MM'].'-'.$d['dd'].' '.$d['HH'].':'.$d['mm'].':'.$d['ss'].'</div>';
                                                                             }),
                                                                            array( 'db' => 'allow_prev',     'dt' => 7 ),
                                                                            array( 'db' => 'add_previlege',     'dt' => 8 )
                                                                        )
                                                                    );

                   
                                                if($id=="search")
                                                {
                                                    $print = false;
                                                    $page_content .= accTable($params);
                                                }
                                                else
                                                {
                                                    $page_content .= accList('group-list',$records);
                                                }
          
                                                //search, pagination, sort
                                                break;
                                             }   

HTML

    <div class="table-responsive" style="padding-bottom: 70px;">
  <table id="list" class="table table-bordered table-striped table-hover">
    <thead class="bg-primary text-light">
      <tr>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td></td>
        <td><div class="small-header"></div></td>
        <td><div class="small-header"></div></td>
      </tr>
    </thead>
  </table>

</div></span>
  <script>
  $(function () {
    $("#list").DataTable( {
          "processing": true,
          "serverSide": true,
          "ajax": "/Admin/group/list/search",
          "language": dt_lang,
          "columnDefs": [
                      {
                          // The `data` parameter refers to the data for the cell (defined by the
                          // `data` option, which defaults to the column being worked with, in
                          // this case `data: 0`.
                          "render": function ( data, type, row ) {
                              return `
                              <div class="btn-group">
                                <button type="button" class="btn btn-light dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
                                  <i class="bi bi-pencil"></i>
                                </button>
                                <ul class="dropdown-menu dropdown-menu-end">
                                  <li><a class="dropdown-item" href="group/add/${data}"><i class="bi bi-pencil"></i> ویرایش گروه</a></li>
                                  <li><a class="dropdown-item delete" href="group/delete/${data}" data-message=""><i class="bi bi-x"></i> حذف</a></li>
                                </ul>
                              </div>
                              `;
                          },
                          "targets": 0
                      },
                  ],
          "drawCallback": function( settings ) {
              $(".dropdown-toggle").dropdown();
            }
      } );
  })
</script>

and accTable Func:

    function accTable(&$params)
{
    // DB table to use
    $table = $params['table'];
     
    // Table's primary key
    $primaryKey = $params['pk'];
     
    // Array of database columns which should be read and sent back to DataTables.
    // The `db` parameter represents the column name in the database, while the `dt`
    // parameter represents the DataTables column identifier. In this case simple
    // indexes
    $columns = $params['columns'];
     
    // SQL server connection information
    $sql_details = array(
        'user' => _DBUNAME,
        'pass' => _DBPASS,
        'db'   => _DBNAME,
        'host' => _DBHOST
    );
     
    /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
     * If you just want to use the basic configuration for DataTables with PHP
     * server-side, there is no need to edit below this line.
     */
    require( '../Includes/datatables/ssp.class.php' );
    return json_encode(
        SSP::simple( $_GET, $sql_details, $table, $primaryKey, $columns )
    );
}

the full message error is : DataTables warning: table id=list - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1

i disabled serverside but its not problem!



source https://stackoverflow.com/questions/69727648/php-datatable-invalid-json-response

Comments

Popular posts from this blog

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

The number of nodes and edges I calculated manually and by a method provided by networkx library dont match

I am trying to analyse a graph using networkx library in Python. I have implemented a function that returns the nodes and edges of that graph. After that I counted the number of nodes and edges by implementing the len() function for nodes and edges, which gave me 17 for both nodes and edges. However, when I used the method graph.number_of_nodes() of networkx library it gave me 53. My code: import pandas as pd import networkx as nx import matplotlib.pyplot as plt header_list = ["a","b","w"] E =pd.read_csv("aves-barn-swallow-contact-network.edges",sep=" ",header= None,names=header_list) # print(E.head()) # prints first few rows of the csv file G = nx.from_pandas_edgelist(E,"a","b",["w"]) nx.draw(G) plt.show() class GraphAnalyse: #finding nodes and edges def nodeEdge(self,Graph): nodes = Graph.nodes() edges = Graph.edges() ...