我正在尝试将数据从我的数据库返回到<table>
。我用来选择数据的语句是:SELECT id, name, k_id FROM table
。在mysql中,这个语句返回100行。
当我运行json脚本时,我可以看到该脚本没有填满我的<table>
。当我在表格中搜索数据时,它仅显示数据:if( !empty($params['search']['value']) ) {
。
通过搜索,SQL语句变为:
SELECT id, name, k_id FROM table WHERE ( k_id LIKE '100' OR name LIKE '100')
带搜索的SQL语句向我显示数据。
当我尝试在没有SELECT id, name, k_id FROM table
选项的情况下运行语句search
时,有人知道为什么我的表为空吗?
这是我的完整脚本:
<?php
include_once("connection.php");
$params = $columns = $totalRecords = $data = array();
$params = $_REQUEST;
//define index of column
$columns = array(
0 => 'id',
1 => 'k_id',
2 => 'name'
);
$where = $sqlTot = $sqlRec = "";
// check search value exist
if( !empty($params['search']['value']) ) {
$where .=" WHERE ";
$where .=" ( k_id LIKE '".$params['search']['value']."%' ";
$where .=" OR name LIKE '".$params['search']['value']."%')";
}
if (!empty($where) ) {
$where .= " ";
} else {
$where .= " ";
}
// getting total number records without any search
$sql = "SELECT id, name, k_id FROM table ";
$sqlTot .= $sql;
$sqlRec .= $sql;
//concatenate search sql if value exist
if(isset($where) && $where != '') {
$sqlTot .= $where;
$sqlRec .= $where;
}
$sqlRec .= " ORDER BY ". $columns[$params['order'][0]['column']]." ".$params['order'][0]['dir']." LIMIT ".$params['start']." ,".$params['length']." ";
$queryTot = mysqli_query($conn, $sqlTot) or die("database error:". mysqli_error($conn));
$totalRecords = mysqli_num_rows($queryTot);
$queryRecords = mysqli_query($conn, $sqlRec) or die("error to fetch employees data");
//iterate on results row and create new index array of data
while( $row = mysqli_fetch_row($queryRecords) ) {
$data[] = $row;
}
$json_data = array(
"draw" => intval( $params['draw'] ),
"recordsTotal" => intval( $totalRecords ),
"recordsFiltered" => intval($totalRecords),
"data" => $data
);
echo json_encode($json_data); // send data as json format
?>