I am using php and mysql for my database but unfortunately I am encountering an error and it shows this error
DataTables warning: table id=example – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1
it seems that it has an error on the $sql = “SELECT * FROM user WHERE user_type =’admin”;
$output= array();
$sql = "SELECT * FROM user WHERE user_type ='admin";
$totalQuery = mysqli_query($con,$sql);
$total_all_rows = mysqli_num_rows($totalQuery);
$columns = array(
0 => 'id',
1 => 'username',
2 => 'email',
3 => 'mobile',
4 => 'city',
5 => 'password',
);
if(isset($_POST['search']['value']))
{
$search_value = $_POST['search']['value'];
$sql .= " WHERE username like '%".$search_value."%'";
$sql .= " OR email like '%".$search_value."%'";
$sql .= " OR mobile like '%".$search_value."%'";
$sql .= " OR city like '%".$search_value."%'";
}
if(isset($_POST['order']))
{
$column_name = $_POST['order'][0]['column'];
$order = $_POST['order'][0]['dir'];
$sql .= " ORDER BY ".$columns[$column_name]." ".$order."";
}
else
{
$sql .= " ORDER BY id desc";
}
if($_POST['length'] != -1)
{
$start = $_POST['start'];
$length = $_POST['length'];
$sql .= " LIMIT ".$start.", ".$length;
}
$query = mysqli_query($con,$sql);
$count_rows = mysqli_num_rows($query);
$data = array();
while($row = mysqli_fetch_assoc($query))
{
$sub_array = array();
$sub_array[] = $row['id'];
$sub_array[] = $row['username'];
$sub_array[] = $row['email'];
$sub_array[] = $row['mobile'];
$sub_array[] = $row['city'];
$sub_array[] = $row['password'];
$sub_array[] = '<a href="javascript:void();" data-id="'.$row['id'].'" class="btn btn-info btn-sm editbtn" >Edit</a> <a href="javascript:void();" data-id="'.$row['id'].'" class="btn btn-danger btn-sm deleteBtn" >Delete</a>';
$data[] = $sub_array;
}
$output = array(
'draw'=> intval($_POST['draw']),
'recordsTotal' =>$count_rows ,
'recordsFiltered'=> $total_all_rows,
'data'=>$data,
);
echo json_encode($output);
$(document).ready(function() {
$('#example').DataTable({
"fnCreatedRow": function(nRow, aData, iDataIndex) {
$(nRow).attr('id', aData[0]);
},
'serverSide': 'true',
'processing': 'true',
'paging': 'true',
'order': [],
'ajax': {
'url': 'fetch_data.php',
'type': 'post',
},
"aoColumnDefs": [{
"bSortable": false,
"aTargets": [5]
},
]
});
});
i am expecting to show the data in the database in a table form