按时间段查询失败,把 查询语句“$data = $pdo->query("SELECT * FROM database where inputdate between '$startdate' and '$enddate' order by id desc limit $start, $limit")->fetchAll(PDO::FETCH_ASSOC);”中的 '$startdate' and '$enddate' 改成具体时间就可以正常获取数据。该如何修改?
前端代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>list</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="./css/font.css">
<script type="text/javascript" src="./lib/layui/layui.js" charset="utf-8"></script>
</head>
<body>
<input class="layui-input" autocomplete="off" placeholder="开始日" name="startdate" id="startdate">
<input class="layui-input" autocomplete="off" placeholder="截止日" name="enddate" id="enddate">
<button class="layui-btn" lay-submit="" lay-filter="sreach" id="searchBtn"><i class="layui-icon"></i></button>
<!-- 数据表格开始 -->
<table class="layui-hide" id="test1" lay-filter="test1"></table>
<script src="./layui/layui.all.js" charset="utf-8"></script>
<script>
layui.use('table', function () {
var table = layui.table;
var laydate = layui.laydate;
var form = layui.form;
var $ = layui.jquery;
//绑定时间选择器
laydate.render({
elem:'#start'
})
laydate.render({
elem:'#end'
})
var tableIns = table.render({
elem: '#test1'
,url: './data1.php'
,toolbar: '#toolbarDemo' //开启头部工具栏,并为其绑定左侧模板
,title:'明细表'
,loading:true
,height:'full-100'
,cols: [
[
{field: 'id', title: 'ID', sort: true, style: 'font-size:12px'}
, {field: 'inputdate', title: '时间', align:'center', width: 150, sort: true,style: 'font-size:12px' }
, {field: 'sn', title: 'SN', align:'center', width: 150,sort: true,style: 'font-size:12px'}
]
],
where:{
}
, page: true
, limits: [50,100,150,200,250,300,350,400,450,500]
, limit: 50 //每页默认显示的数量
});
//搜索
$("#searchBtn").on('click',function(){
var val = $("#searchReload").val();
console.log(val);
tableIns.reload({
where: {
inputdate:val
}
,page: {
curr: 1 //重新从第 1 页开始
}
});
})
});
</script>
<script>
layui.use('laydate', function(){
var laydate = layui.laydate;
var endDate= laydate.render({
elem: '#enddate',//选择器结束时间
type: 'datetime',
min:"1970-1-1",//设置min默认最小值
done: function(value,date){
startDate.config.max={
year:date.year,
month:date.month-1,//关键
date: date.date,
hours: 0,
minutes: 0,
seconds : 0
}
}
});
//日期范围
var startDate=laydate.render({
elem: '#startdate',
type: 'datetime',
max:"2099-12-31",//设置一个默认最大值
done: function(value, date){
endDate.config.min ={
year:date.year,
month:date.month-1, //关键
date: date.date,
hours: 0,
minutes: 0,
seconds : 0
};
}
});
});
</script>
</div>
</div>
</body>
</html>
后台php
<?php
header('Content-type:text/html;charset=utf-8');
// 连接数据库
try {
$pdo = new PDO('mysql:host=10.127.0.01;dbname=db;port=3306', 'root', '123456');
} catch (PDOException $e) {
die('connet error :' . $e->getMessage());
}
$pdo->exec('set names utf8');
if (isset($_GET['page']) && isset($_GET['limit'])) {
// 分页查询
$start = ($_GET['page'] - 1) * $_GET['limit'] ;
$limit = $_GET['limit'];
//查询条件
$startdate = strtotime($_POST['startdate']);
$enddate = strtotime($_POST['enddate']);
$data = $pdo->query("SELECT * FROM database where inputdate between '$startdate' and '$enddate' order by id desc limit $start, $limit")->fetchAll(PDO::FETCH_ASSOC);
$num = count($pdo->query("SELECT id FROM bga_rework")->fetchAll(PDO::FETCH_ASSOC));
$json = json_encode(array(
"code" => 0,
"msg" => "",
"count" => $num,
"data" => $data
), JSON_UNESCAPED_UNICODE);
echo $json;
}
else {
// 无参数
echo json_encode(array(
"code" => 1,
"msg" => "error",
"count" => 0,
"data" => array()
));
}