没有搜索,Json脚本没有响应

时间:2017-07-06 04:09:36

标签: jquery mysql json

我正在尝试将数据从我的数据库返回到<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
?>

0 个答案:

没有答案