php - 如何使用数据库中的日期(包括时间)作为 php 表中隐藏字段的值

标签 php mysql database forms

我有 php 表和表内的表单字段,显示某些设备的状态。我正在显示日期、电压、电流等值。用户可以选择任意值,这样所选值对应的时间将用于下一页的平均计算。对于平均计算,我应该选择立即 5 个值到所选值。因此日期列中的时间值很重要(例如 2019-04-17 16:14:44)。问题是当我使用隐藏的表单值字段时,我只得到日期(例如 2019-04-17)而不是“时间”。

表单.php

$sql = "SELECT Date, Voltage, Current FROM DataTable WHERE Date>= (CURDATE() - INTERVAL 90 DAY)  ORDER BY Datum DESC";

    $result = $conn->query($sql);
    $i=1;
    if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
     echo "<form action = 'formProcess.php' method =get>";

        echo "<tr>

            <td>" . $i. "</td>
            <td>" . $row["Date"]. "</td>
            <td>" . $row["Voltage"] . "</td>
            <td>" . $row["Current"]. "</td>


            <td>"." <input type=hidden  name=getTime value =" .$row["Date"]."  </td>
            <td>"." <input type=submit    name=timesubmit value=select  class = classSubmit"."  </td>
        </tr>";
        $i++;
    echo "</form>";
  }
  echo "</table>";
  } else { echo "0 results"; }

表单处理.php

include("DBconnect.php");

     if(isset ($_GET['timesubmit'])){
       echo "selected a value";
       $selectedTime =$_GET['getTime'];
// the following echo only gives date, not time !! that is the problem.
       echo $selectedTime;
// I wanna use the immediate 5 value, that selected value and immediate 4 values for avg calculation.

       $sql = "SELECT * FROM DataTable 
       WHERE date =>$selectedTime AND ORDER BY Date  DESC LIMIT 5 ";


       $conn= mysqli_connect( $dbhost, $dbuser, $dbpass, $db );
       if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
       }




       $result_5_values = $conn->query($sql);
       $i=1;

       if ($result_5_values->num_rows > 0) {
        while($row = $result_10_values->fetch_assoc()) {


           echo "<tr>

               <td>" . $i. "</td>
               <td>" . $row["Date"]. "</td>
               <td>" . $row["Voltage"] . "</td>
               <td>" . $row["Current"]. "</td>

           </tr>";
           $i++;

     }
     echo "</table>";
     } else { echo "0 results"; }


     }else { echo "No selection has been made";}

最佳答案

试试这个

$sql = "SELECT Date, Voltage, Current FROM DataTable WHERE Date>= (CURDATE() - INTERVAL 90 DAY)  ORDER BY Datum DESC";

    $result = $conn->query($sql);
    $i=1;
    if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
     echo "<form action='formProcess.php' method ='get'>";

        echo "<tr>

            <td>" . $i. "</td>
            <td>" . $row["Date"]. "</td>
            <td>" . $row["Voltage"] . "</td>
            <td>" . $row["Current"]. "</td>


            <td>"." <input type='hidden'  name='getTime' value='" .$row["Date"]."'  /></td>
            <td>"." <input type='submit'    name='timesubmit' value='select'  class='classSubmit'"."  </td>
        </tr>";
        $i++;
    echo "</form>";
  }
  echo "</table>";
  } else { echo "0 results"; }


问题是您没有引用日期值,应该引用所有元素属性值。我希望在 Web 源代码中看起来像这样:

<input type=hidden name=getTime value=2019-04-17 16:14:44>

应该是这样的

<input type="hidden" name="getTime" value="2019-04-17 16:14:44">

关于php - 如何使用数据库中的日期(包括时间)作为 php 表中隐藏字段的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56035576/

相关文章:

java - Hibernate删除对象而不删除相关对象

mysql - Django 使用 dumpdata 创建数据库备份

php - 在动态填充的下拉列表中预选第一个选项

php - Mysql选择多表获取同一列的值

php - Mysql 选择 10 条记录(5 条记录和 5 条另一条记录)

php - 根据 php 中 if 条件的输出检查单选按钮

php - 使用wamp服务器通过php将表单数据输入数据库

php - 在heroku上部署nodejs和php

php - 附近的 MySQL 语法错误

php - 查看 CURL 从 PHP 脚本发送的内容