将日期范围值发送到另一页

时间:2018-07-17 09:06:29

标签: php json postgresql

我试图在第一次(今天日期)页面加载时显示一个包含数据的表格,此后如果用户指定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);

您能告诉我我做错了什么吗?

0 个答案:

没有答案