Я, Сатья, пытаюсь получить данные из базы данных и отображаю их в таблицах данных Jquery.
Я включил свой код ниже. Здесь сценарий, когда я пытаюсь получить данные SQL-запроса без какого-либо предложения where. Я могу отобразить данные в datatable, когда я включил, где предложение, где он показывает: Cannot read property error of null
Я много пытался это исправить, даже если я получаю данные с php на страницу javascript через ajax, но он не получает данные в таблицы данных, вот мой код:
$("<table id='example' class='display' cellspacing='0' width='100%' style:'text-align:center;'>"+"<thead>"+"<tr>"+"<th>EID</th>"+"<th>EMICH_EMAIL</th>"+"<th>FIRSTNAME</th>"+"<th>LASTNAME</th>"+"<th>SIGN_IN</th>"+"<th>SIGN_OUT</th>"+"<th>DURATION</th>"+"</tr>"+"</thead>"+"<tbody>").appendTo('#table-section');
$('#example').dataTable({
"dom": 'T<"clear">lfrtip',
"tableTools": {
"sSwfPath":"http://cdn.datatables.net/tabletools/2.2.2/swf/copy_csv_xls_pdf.swf"},
"bProcessing": false,
"sAjaxDataProp":'',
"sAjaxSource":"fetchdata.php"});
<?php
include 'dataconnection.php';
$user_id=$_POST['eid'];
$from=$_POST['startdate'];
$to=$_POST['enddate'];
$students_data="select st.EID,st.emich_email,firstname,lastname,sign_in,sign_out, " +
"SEC_TO_TIME(TIME_TO_SEC(timediff(sign_out,sign_in))) AS totalduration from "+
"student_details st INNER JOIN scans sc ON st.emich_email = sc.emich_email where st.EID ='$user_id'";
$students_data_query=mysqli_query($connection,$students_data);
if($students_data_query){
while($row = mysqli_fetch_array($students_data_query)){
$output[]=array($row[0],$row[1],$row[2],$row[3],$row[4],$row[5],$row[6]);
}
echo json_encode($output);
//echo $user_id;
}else
echo die("The error is:".mysqli_error($connection));
?>
Картик, попробуй это. Для меня это работает отлично.
<?php
include 'dataconnection.php';
$user_id = $_POST ['eid'];
$from = $_POST ['startdate'];
$to = $_POST ['enddate'];
if (isset ( $_POST ['eid'] )) {
// Descrição se $_POST['truc'] existe
/* Table Columns */
$aColumns = array (
'EID',
'EMICH_EMAIL',
'FIRSTNAME',
'LASTNAME',
'SIGN_IN',
'SIGN_OUT',
'TOTALDURATION'
);
$students_data = "select st.EID,st.emich_email,firstname,lastname,sign_in,sign_out, " +
"SEC_TO_TIME(TIME_TO_SEC(timediff(sign_out,sign_in))) AS totalduration from " +
"student_details st INNER JOIN scans sc ON st.emich_email = sc.emich_email where st.EID ='$user_id'";
$students_data_query = mysqli_query ( $connection, $students_data );
$output = array (
"aaData" => array ()
);
if ($students_data_query) {
$row = array ();
while ( $aRow = mysqli_fetch_array ( $students_data_query ) ) {
for($i = 0; $i < count ( $aColumns ); $i ++) {
if ($aColumns [$i] != ' ') {
// Charset for accentuation.
$row [] = iconv ( "iso-8859-1", "utf-8", $aRow [$aColumns [$i]] );
}
}
$output ['aaData'] [] = $row;
}
echo json_encode ( $output );
} else
echo die ( "The error is:" . mysqli_error ( $connection ) );
} else {
echo die ( "The error is: S_POST [eid] IS NULL" );
}
?>
$("<table id='example' class='display' cellspacing='0' width='100%' style:'text-align:center;'>"+"<thead>"+"<tr>"+"<th>EID</th>"+"<th>EMICH_EMAIL</th>"+"<th>FIRSTNAME</th>"+"<th>LASTNAME</th>"+"<th>SIGN_IN</th>"+"<th>SIGN_OUT</th>"+"<th>DURATION</th>"+"</tr>"+"</thead>"+"<tbody>").appendTo('#table-section');
$('#example').dataTable({
"dom": 'T<"clear">lfrtip',
"tableTools": {
"sSwfPath":"http://cdn.datatables.net/tabletools/2.2.2/swf/copy_csv_xls_pdf.swf"},
"bProcessing": false,
"sAjaxDataProp":'',
"sAjaxSource":"fetchdata.php",
"aoColumns" : [
{
"sTitle": "EID",
"aTargets": [0]
},
{
"sTitle": "EMICH_EMAIL",
"aTargets": [1]
},
{
"sTitle": "FIRSTNAME",
"aTargets": [2]
},
{
"sTitle": "LASTNAME",
"aTargets": [3]
},
{
"sTitle": "SIGN_IN",
"aTargets": [4]
},
{
"sTitle": "SIGN_OUT",
"aTargets": [5]
},
{
"sTitle": "DURATION",
"aTargets": [6]
}]
});
Других решений пока нет …