I have 3 files, index.php, ajax.php, and scripts.js.
This is my ajax.php:
if ( $_GET['action'] == "newUserAccountsGrid" )
{
try
{
$stmt = $DB_CONN->prepare("SELECT * FROM crm_users");
$stmt->execute();
$i=1;
while ( $rows = $stmt->fetch(PDO::FETCH_OBJ) )
{
$obj[$i]['username'] = $rows->{'username'};
$obj[$i]['firstname'] = $rows->{'firstname'};
$obj[$i]['lastname'] = $rows->{'lastname'};
$obj[$i]['user_email'] = $rows->{'user_email'};
$obj[$i]['user_level'] = $rows->{'user_level'};
$obj[$i]['user_role'] = $rows->{'user_role'};
$obj[$i]['date_created'] = $rows->{'date_created'};
$i++;
}
}
catch( PDOException $e )
{
echo $e->getMessage();
}
if ( is_array($obj) )
{
$arr['data'] = array_values($obj);
$json = json_encode($arr, JSON_PRETTY_PRINT);
echo $json;
}
}
datatable javascript scripts.js :
$( "#tbl_useraccounts" ).dataTable({
ajax: "ajax.php?action=newUserAccountsGrid",
columns: [
{ "data": "username" },
{ "data": "firstname" },
{ "data": "lastname" },
{ "data": "user_email" },
{ "data": "user_level" },
{ "data": "user_role" },
{ "data": "date_created" },
],
columnDefs: [{
defaultContent: "-",
targets: "_all"
}]
});
Also index.php :
<table id="tbl_useraccounts" class="table table-striped table-hover">
<thead>
<tr>
<th class="no-sort">Username</th>
<th class="no-sort">First Name</th>
<th class="no-sort">Last Name</th>
<th class="no-sort">User Email</th>
<th class="no-sort">User Level</th>
<th class="no-sort">User Role</th>
<th class="no-sort">Date Created</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Username</th>
<th>First Name</th>
<th>Last Name</th>
<th>User Email</th>
<th>User Level</th>
<th>User Role</th>
<th>Date Created</th>
</tr>
</tfoot>
</table>
Json is ok :
{
"data": [
{
"username": "test1",
"firstname": "Test 1",
"lastname": "Test 1",
"user_email": "test1@test.com",
"user_level": "1",
"user_role": "Broker",
"date_created": "2017-06-19 15:10:32"
},
{
"username": "test2",
"firstname": "Test 2",
"lastname": "Test 2",
"user_email": "test2@test.com",
"user_level": "1",
"user_role": "Consulent",
"date_created": "2017-06-19 15:10:32"
},
{
"username": "test3",
"firstname": "Test 3",
"lastname": "Test 3",
"user_email": "test3@test.com",
"user_level": "1",
"user_role": "Consulent",
"date_created": "2017-06-19 15:10:32"
}
]
}
So everything executes fine, no errors, table renders the rows, but no data is displayed. Thank you guys for your time.