我的网页上有一个网格视图。网格从我的数据库中填充。我在脚本中建立了一个搜索,所以当我输入number
,name
或price
时,我得到了正确的数据。Gridview搜索在添加WHERE语句后停止工作
我的SQL查询来获取信息如下:
$sql = "SELECT id, name, price FROM employees";
现在我想延长我的脚本和特定用户的相关信息。但是,当我添加一个WHERE语句来我的SQL查询,搜索功能停止工作
这是SQL查询,我需要:
$sql = "SELECT id, name, price FROM employees WHERE user_id='1'";
我不知道什么是错。此查询向我显示正确的数据,但搜索功能停止工作。我也在phpMyAdmin中试过这个SQL查询,并且没有任何问题。
有人可以帮我解决这个问题。我真的不知道什么是错的:
这是我用来从我的数据库中获取信息的脚本。 SQL查询是24行: - response.php -
<?php
include_once("connection.php");
$params = $columns = $totalRecords = $data = array();
$params = $_REQUEST;
$columns = array(
0 =>'id',
1 =>'name',
2 => 'price',
3 => 'user_id'
);
$where = $sqlTot = $sqlRec = "";
if(!empty($params['search']['value'])) {
$where .=" WHERE ";
$where .=" (id LIKE '".$params['search']['value']."%' ";
$where .=" OR name LIKE '".$params['search']['value']."%' ";
$where .=" OR price LIKE '".$params['search']['value']."%')";
}
$sql = "SELECT id, name, price FROM employees WHERE user_id='1'";
$sqlTot .= $sql;
$sqlRec .= $sql;
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");
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);
?>
编辑1:
现在我有:
if(!empty($params['search']['value'])) {
$where .=" WHERE ";
$where .=" (id LIKE '".$params['search']['value']."%' ";
$where .=" OR name LIKE '".$params['search']['value']."%' ";
$where .=" OR price LIKE '".$params['search']['value']."%') AND user_id='1'
$sql = "SELECT id,name,price FROM customers";
当我跑,我得到没有user_id='1'
的网格视图和user_id='1'
的搜索功能。他们都需要user_id='1'
。
http://php.net/manual/en /mysqli.error.php和var_dump查询,你会看到这里发生了什么。看到你正在使用错误检查,你得到了什么错误? –
我是否需要创建'$ sql'的'var_dump'? 'var_dump($ sql);' – John
@ Fred-ii-我没有得到任何错误。 – John