【问题标题】:Pre Complete HTML Form with PHP and MYSQL使用 PHP 和 MYSQL 预先完成 HTML 表单
【发布时间】:2018-03-12 20:14:05
【问题描述】:

我正在创建一个简单的页面,它更新单个记录tempKey=1,单个字段reqdTemp MySQL dBase。我的表格工作正常;它更新记录,然后返回到初始表格,供用户再次更改温度。

问:我希望使用数据库中的现有信息预先填充表格,以便用户看到即将更改的当前所需温度。我不知道从哪里开始!!

表格updateTemperature.php是这样的:

<html>
<body>
<h1>RPi BBQ - Set Temperature</h1>
<form action="insert.php" method="post">
<p>Set Temperature: <input type="text" name="setTemp" /></p><br><br>
<input type="submit" value="Set Temperature" />
</form>
</body>
</html>

帖子脚本insert.php是这样的:

<?php
require_once 'login.php';
$con=mysqli_connect($hh,$un,$pw,$db);
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
echo 'Connected successfully';

$sql = "UPDATE PiBQ_Temp SET reqdTemp = '$_POST[setTemp]' WHERE tempKey = 1";
mysqli_query($con,$sql);

echo "1 record added";
header ('location: PiBQ_Temp2.php');

mysql_close($con)
?>

【问题讨论】:

    标签: php mysql forms populate


    【解决方案1】:

    要预填充表单,请在数据库中查询当前值并将其设置在返回的 HTML 中。所以你的 updateTemperature.php 可能会变成这样:

    <?php
    require_once 'login.php';
    $con=mysqli_connect($hh,$un,$pw,$db);
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
    echo 'Connected successfully';
    
    $currentTemp = 100; // some default
    $sql = "SELECT reqdTemp FROM PiBQ_Temp WHERE tempKey = 1";
    $result = mysqli_query($con,$sql);
    if(mysqli_num_rows($result) > 0) {
      $row = mysqli_fetch_assoc($result);
      $currentTemp = $row['reqdTemp'];
    }
    
    mysql_close($con);
    ?>
    <html>
    <body>
    <h1>RPi BBQ - Set Temperature</h1>
    <form action="insert.php" method="post">
    <p>Set Temperature: <input type="text" name="setTemp" value="<?= $currentTemp ?>" /></p><br><br>
    <input type="submit" value="Set Temperature" />
    </form>
    </body>
    </html>
    

    【讨论】:

    • 这使得提交按钮的值等于当前温度。我在&lt;p&gt;Set Temperature: &lt;input type="text" name="setTemp" /&gt;&lt;/p&gt;&lt;br&gt;&lt;br&gt; 中的文本框值之后等于温度(可以由用户覆盖)。抱歉我没说清楚。
    • 糟糕,代码应该设置输入字段的值...提交我的答案似乎太快了!我对其进行了编辑以解决此问题
    • 我已经解决了,我需要在文本框上设置“value=”。 updateTemperature.php 的修改代码现在是这样的:&lt;p&gt;Set Temperature: &lt;input type="text" name="setTemp" value="&lt;?= $currentTemp ?&gt;"/&gt;&lt;/p&gt;&lt;br&gt;&lt;br&gt;
    猜你喜欢
    • 2012-04-21
    • 2013-09-30
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多