【发布时间】:2021-03-01 21:07:03
【问题描述】:
我试图让它工作,以便当我单击 HTML 表(输入标记)中的加号时,我的数据库将根据按钮所在的 tr 更新。我的代码目前不是以这种方式工作;单击时如何获取输入按钮以更新数据库?
我的第二个问题是我怎样才能让它在多个城市工作?有没有办法将每个城市合并到一个 PHP 代码块中来更新数据库,如果有,怎么做?提前致谢!
HTML:
<form action="all_records.php" method="post">
<td name="albuquerque" class="albuquerque">
<b>Albuquerque</b>
</td>
<td>
<input type="submit" name="button1" value="+" id="1">
</td>
</form>
<form action="all_records.php" method="post">
<td name="atlanta" class="atlanta">
<b>Atlanta</b>
</td>
<td>
<input type="submit" name="button2" value="+" id="2">
</td>
</form>
all_records.php:
<?php
session_start();
if (!isset($_SESSION['loggedin'])) {
header('Location: index.php');
exit;
$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'root';
$DATABASE_PASS = '';
$DATABASE_NAME = 'user_database';
$con = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if (mysqli_connect_errno()) {
exit('Failed to connect to MySQL: ' . mysqli_connect_error());
}
if(isset($_POST['button1'])) {
$city = $_POST['albuquerque'];
$edit_city = mysqli_query($user_database,"update test_cities set action='+' where city='$city'");
header("location:cities.php");
}
?>
【问题讨论】:
-
您有多个表单,因此您不需要为按钮或字段使用不同的名称。在表单中为城市名称添加一个隐藏字段。
-
使用像这样的
submit按钮将在每次单击按钮时刷新整个页面。这很麻烦而且很慢。考虑使用点击处理程序在点击时发送 AJAX 请求。 -
另外,当你完成它的工作后,完全放弃它并改用 PHP PDO。