我试图在第一次(今天日期)页面加载时显示一个包含数据的表格,此后如果用户指定2个日期并点击Submit(提交)按钮。 我的代码问题是第一次加载时的变量为空。并且他们需要在今天的日期范围内才能首次加载页面。之后,我需要设置日期字段以显示用户输入的下两个日期并使表格可视化。 这是代码:
<?php
session_start();
global $limit, $sql, $url, $pagesize, $pagecount, $absolutepage, $recordcount;
// Configuration...
$db = pg_Connect("dbname=test user=postgres password=****");
if (!$db) {
die('Error: Could not connect: ' . pg_last_error());
}
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles/style_gentable.css">
<script type="text/javascript" charset="utf-8" src="js/jquery-3.2.1.slim.min.js"></script>
<link rel="stylesheet" type="text/css" href="\DateTables\datatables.css">
<script type="text/javascript" charset="utf-8" src="\DateTables\datatables.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/moment.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/datetime-moment.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/dataTables.buttons.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/buttons.flash.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/jszip.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/vfs_fonts.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/buttons.html5.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/gentable/buttons.print.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/Chart.js"></script>
<script type="text/javascript" src="js/chartjs-plugin-zoom.js"></script>
<script type="text/javascript" src="js/canvas-toBlob.js"></script>
<script type="text/javascript" src="js/FileSaver.js"></script>
<script src="js/hammer.min.js"></script>
<script type="text/javascript" charset="utf-8" src="js/json/otv_fil_iskar/app.js"></script>
<link rel="stylesheet" href="styles/jquery-ui.css">
<script src="/js/jquery-ui.js"></script>
<script src="/js/datepicker-bg.js"></script>
<script>
$( function() {
$( ".datepicker" ).datepicker($.datepicker.regional[ "bg" ]);
} );
</script>
</head>
<body class="body_width">
<div class="table_box">
<div class="table_boxbox">
<div id="dams_images">
<img src="images\iskar.png">
<img src="images\iskar_ge.png">
<img src="images\iskar_ge_g.png">
</div>
<span class="color: #000;">
<h1>яз. : Отвеси и филтрации - Данни</h1>
<form method = "POST">
<label for="odata">Oт дата </label>
<input type="text" autocomplete="off" name="from_date" class="datepicker" alt="date" title="Кликнете, за да изберете дата." value="<?php echo date('d/m/Y');?>">
<label for="odata">До дата </label>
<input type="text" autocomplete="off" name="to_date" class="datepicker" alt="date" title="Кликнете, за да изберете дата." value="<?php echo date('d/m/Y');?>">
<input type = "submit" name = "submit" value = "Зареди">
</form>
<?php
$from_date = $_POST['from_date'];
$to_date = $_POST['to_date'];
$_SESSION['from_date'] = $_POST['from_date'];
$_SESSION['to_date'] = $_POST['to_date'];
?>
<p>От дата: <b>
<?= $_SESSION['from_date'] ?>
г.</b> До дата: <b>
<?= $_SESSION['to_date'] ?> г.</b>
</p>
<table id="table_id" class="display">
<thead>
<tr>
<th>Дата/час</th>
<th>Отвес блок 9 ос X<br>граница: от -4 до 10<br> [mm]</th>
<th>Отвес блок 9 ос Y<br>граница: от -1.5 до 3<br> [mm]</th>
<th>Отвес блок 11 ос X<br>граница: от -4 до 12<br> [mm]</th>
<th>Отвес блок 11 ос Y<br>граница: от -2.5 до 3.5<br> [mm]</th>
<th>Филтрация блок 10<br>граница: над 1.2<br> [l/s]</th>
<th>Филтрация блок 11<br>граница: над 1.2<br> [l/s]</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Дата/час</th>
<th>Отвес блок 9 ос X<br>граница: от -4 до 10<br> [mm]</th>
<th>Отвес блок 9 ос Y<br>граница: от -1.5 до 3<br> [mm]</th>
<th>Отвес блок 11 ос X<br>граница: от -4 до 12<br> [mm]</th>
<th>Отвес блок 11 ос Y<br>граница: от -2.5 до 3.5<br> [mm]</th>
<th>Филтрация блок 10<br>граница: над 1.2<br> [l/s]</th>
<th>Филтрация блок 11<br>граница: над 1.2<br> [l/s]</th>
</tr>
</tfoot>
</table>
<div id="chart-container">
<button id="save-btn">Запази диаграма(.PNG)</button>
<button id="reset_zoom">Презареди диаграма</button>
<progress id="animationProgress" max="1" value="0" style="width: 10%"></progress>
<canvas id="mycanvas"></canvas>
</div>
<script type="text/javascript">
$(document).ready( function () {$.fn.dataTable.moment( "DD/MM/YYYY HH:mm:ss" );
$("#table_id").DataTable({
"Processing": true,
"ServerSide": true,
"ajax": "../js/json/otv_fil_iskar/otv_fil_To_json.php",
dom: "lBfrtip",
buttons: [
{
extend: "excel",
text: "Експорт на всички страници",
title: "Язовир - Визуализация ОИ",
},
{
extend: "excel",
text: "Експорт на текущата страница",
title: "Язовир - Визуализация ОИ",
exportOptions: {
modifier: {
page: "current"
}
}
}
],
"columnDefs": [ {
"tarPOSTs": 1,
"createdCell": function (td, cellData, rowData, row, col) {
if ( cellData < -4 || cellData > 10) {
$(td).css("background", "red")
$(td).css("color", "white")
}
}
},{
"tarPOSTs": 2,
"createdCell": function (td, cellData, rowData, row, col) {
if ( cellData < -1.5 || cellData > 3) {
$(td).css("background", "red")
$(td).css("color", "white")
}
}
},{
"tarPOSTs": 3,
"createdCell": function (td, cellData, rowData, row, col) {
if ( cellData < -1.5 || cellData > 12) {
$(td).css("background", "red")
$(td).css("color", "white")
}
}
},{
"tarPOSTs": 4,
"createdCell": function (td, cellData, rowData, row, col) {
if ( cellData < -2.5 || cellData > 3.5) {
$(td).css("background", "red")
$(td).css("color", "white")
}
}
},{
"tarPOSTs": 5,
"createdCell": function (td, cellData, rowData, row, col) {
if ( cellData > 1.2 ) {
$(td).css("background", "red")
$(td).css("color", "white")
}
}
},{
"tarPOSTs": 6,
"createdCell": function (td, cellData, rowData, row, col) {
if ( cellData > 1.2) {
$(td).css("background", "red")
$(td).css("color", "white")
}
}
}], dom: "lBfrtip",
buttons: [
{
extend: "excel",
text: "Експорт на всички страници",
title: "Язовир - отвеси и филтрации",
},
{
extend: "excel",
text: "Експорт на текущата страница",
title: "Язовир - отвеси и филтрации",
exportOptions: {
modifier: {
page: "current"
}
}
}
]
});} )
</script>
</body>
</html>
至json:
<?php
session_start();
global $limit, $sql, $url, $pagesize, $pagecount, $absolutepage, $recordcount;
$conn = "host=localhost port=5432 dbname=iskar user=postgres password=****";
$noData = $selectPage = $c_row = '';
$connection = pg_connect($conn);
// If current page number, use it
// if not, set one!
if (!isset($_POST['page'])) {
$page = 1;
} else {
$page = $_POST['page'];
}
// Perform MySQL query on only the current page number's results
$max_results = 3000;
// Figure out the limit for the query based
// on the current page number.
$from = (($page * $max_results) - $max_results);
$params = $columns = $totalRecords = $data = array();
$params = $_REQUEST;
$where = $sqlTot = $sqlRec = "";
$from_date = $_SESSION['from_date'];
$to_date = $_SESSION['to_date'];
$sql = "SELECT to_char(TIMESTAMP, 'DD/MM/YYYY HH24:MI:SS'),blok9osx,blok9osy,blok11osx,blok11osy,filblok10,filblok11 FROM otv_fil WHERE TIMESTAMP BETWEEN '$from_date' AND '$to_date 23:59:59' ";
$sqlTot .= $sql;
$sqlRec .= $sql;
$sqlRec .= "LIMIT $max_results OFFSET $from";
$queryTot = pg_query($connection, $sqlTot)or die("database error:");
$totalRecords = pg_num_rows($queryTot);
$queryRecords = pg_query($connection, $sqlRec) or die("error to fetch wheather data");
while( $row = pg_fetch_row($queryRecords) ) {
$data[] = $row;
}
$json_data = array(
"draw" => 1,
"recordsTotal" => intval( $totalRecords ),
"recordsFiltered" => intval($totalRecords),
"data" => $data
);
echo json_encode($json_data);
您能告诉我我做错了什么吗?