使用 PHP 和 MYSQL 预先完成 HTML 表格

Pre Complete HTML Form with PHP and MYSQL

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

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

表格,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>

post脚本,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)
?>

要预填充表单,请在数据库中查询当前值并在返回的 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>