gpt4 book ai didi

php - 使用单选按钮更新数据库的简单 PHP 任务

转载 作者:可可西里 更新时间:2023-11-01 08:55:27 25 4
gpt4 key购买 nike

这里是前端设计师,不是 PHP 开发人员,我真的需要帮助。需要制作一个系统,允许客户端登录到自己的区域来更新表。该表将有大约 20 条记录,每行将使用单选按钮(4 个选择)进行编辑。只有 2 列,一列用于 ID,一列称为状态(可编辑数据)。

查看者只会看到客户端所做的更改以及该行的背景颜色根据状态发生变化,这意味着可编辑部分必须包含 2 条数据(用于更改颜色的整数值和状态,例如改变颜色的单选按钮的值,以及将文本回显到单元格中的按钮标签)。稍后会处理登录系统...

数据库设置:

Database: test
Table: fire_alert
Structure:
id (INT, PRIMARY); color(INT); warning(VACHAR);

connect.php:

<?php
// Database Variables (edit with your own server information)
$server = 'localhost';
$user = 'root';
$pass = 'root';
$db = 'test';

// Connect to Database
$connection = mysql_connect($server, $user, $pass)
or die("Could not connect to server ... \n" . mysql_error());
mysql_select_db($db)
or die("Could not connect to database ... \n" . mysql_error());
?>

view.php:

<div id="container">
<?php
// connect to the database
include('connect.php');
include("header.php");

// get results from database
$result = mysql_query("SELECT * FROM fire_alert")
or die(mysql_error());
echo "Current date - " . date("Y/m/d") . "<br /><br />";

// display data in table
echo "<table>";
echo "<tr> <th>Area</th> <th>Status</th></tr>";

// loop through results of database query, displaying them in the table
while($row = mysql_fetch_array($result)) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['id'] . '</td>';
echo '<td>' . $row['warning'] . '</td>';
echo "</tr>";
}

// close table>
echo "</table>";

echo '<td><a href="edit.php' . $row['id'] . '">Change Area Status</a></td>';
?>
</div>
<body>
</body>
</html>

edit.php(仅限客户端访问)尚无动态数据更改,目前为硬编码 HTML:

<?php include("header.php"); ?>
<?php include("connect.php"); ?>

<div id="container" class="edit">
<div id="radio1">

<?
$result = mysql_query("SELECT * FROM fire_alert")
or die(mysql_error());
echo "Current date - " . date("Y/m/d") . "<br /><br />";
?>

<table class="edit">
<tr><th>Area</th><th>Status</th></tr>
<tr>
<td>1</td>
<td>
<form method="post" action="edit.php">
<input type="radio" id="radio1" name="radio" value="1" /><label for="radio1">Safe</label>
<input type="radio" id="radio2" name="radio" value="2" /><label for="radio2">Caution L1</label>
<input type="radio" id="radio3" name="radio" value="3" /><label for="radio3">Caution L2</label>
<input type="radio" id="radio4" name="radio" value="4" /><label for="radio4">Closed</label>
</form>
</td>
</tr>
</table>

</div>
<?php echo '<td><a href="view.php' . $row['id'] . '">Update</a></td>'; ?>
</div>

最佳答案

运行此更新的最简单方法(或者我使用的方法)是利用 javascript。让每个单选 block 部分以其自己的形式自动提交 onChange,并包含一个隐藏变量以指示页面提交。然后只需编写一个函数来根据输入的用户 ID(或者您正在验证的任何方式)和他们的选择来更新数据库...

类似于:

if($_POST["submit"] == 1)
{
$id = $_POST["id"];
$radio = $_POST["radio"];
$query = "UPDATE fire_alert SET warning = '$radio' WHERE id = '$id'";
$result = mysql_query($query) or die(mysql_error());
}

您对 view.php 链接的格式设置有疑问,该行应如下所示:

'更新'; ?>'

虽然上面的内容不会像您预期的那样工作,因为它没有提交表单,所以不会传递单选按钮值...相反,您应该这样做:

<form method="post" action="edit.php">
<input type="radio" id="radio1" name="radio" value="1" onChange="this.submit()"/><label for="radio1">Safe</label>
<input type="radio" id="radio2" name="radio" value="2" onChange="this.submit()"/><label for="radio2">Caution L1</label>
<input type="radio" id="radio3" name="radio" value="3" onChange="this.submit()" /><label for="radio3">Caution L2</label>
<input type="radio" id="radio4" name="radio" value="4" onChange="this.submit()"/><label for="radio4">Closed</label>
<input type="hidden" name="id" value="<?=$row["id"]?>" />
</form>

并且您还需要编辑您的 php 以反射(reflect)该差异

关于php - 使用单选按钮更新数据库的简单 PHP 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com