0

我的项目是:我的数据库中有一个值(整数),默认值为 0,我希望它更新(我的意思是不要更改,但要添加到它上面)每当用户单击我的提交表单时html页面。进一步解释:例如我的默认值为 0 ,然后第一个客人提交 value=20 并更改为 20,然后保存在数据库中。下一位客人提交 value=30,table value 变为 20+30=50。

到目前为止我的html:

<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>
<meta name="generator" content="3.2.2.183"/>
<title>Help The World</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="style.css"/>
<!-- Other scripts -->
<script src="java.js" type="text/javascript"></script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td> <input name="help_1" value="25" type="checkbox" id="help_1" onclick="UpdateCost();"> </td>
<td> ResponseOption_1 </td>
</tr>
<tr>
<td> <input name="help_2" value="15" type="checkbox" id="help_2" onclick="UpdateCost();"> </td>
<td> ResponseOption_2 </td>
</tr>
</table>
<form action="insert.php" method="post">
<input type="text" id="totalpoints" name="total" value="">
<input type="submit" value="Help World">
</form>

<script type="text/javascript">
function UpdateCost() {
  var sum = 0;
  var gn, elem;
  for (i=1; i<3; i++) {
    gn = 'help_'+i;
    elem = document.getElementById(gn);
    if (elem. checked == true) { sum += Number(elem. value); }
  }
  document.getElementById('totalpoints' ).value = sum;
}
</script>
</body>
</html>

到目前为止我的php:

mysqli_query($con,"UPDATE total SET points= ?");
mysqli_close($con);
?>
4

2 回答 2

0

首先,您需要数据库连接详细信息。换句话说,主机名(通常是“localhost”)、数据库名称、数据库的用户名和密码。

然后,您需要在该数据库中设置一个表。鉴于您上面的 PHP,表名似乎是“total”。

在您的表“总计”中,您需要插入一行。您可以通过运行如下查询来做到这一点:

<?
// 1. here you need to insert code that connects to the database.
//...
// 2. now for the rest of the code...
mysqli_query($con,"INSERT INTO total (id, points) values (1, 0)");
?>

您只会运行上述行一次。之后,您根本不再需要运行它,您可以删除运行它的文件。

在上面显示的 PHP 文件中,您需要执行以下操作:

<?
// 1. here you need to insert code that connects to the database.
//...
// 2. now for the rest of the code...
$result_set = mysqli_query($con,"SELECT points FROM total WHERE id = 1");
$row = mysql_fetch($result_set);
$old_total = $row['total'];
$new_total = $old_total + $_REQUEST['total'];
mysqli_query($con,"UPDATE total SET points = $new_total WHERE id = 1");
mysqli_close($con);
?>

希望这可以帮助。

于 2013-03-07T14:24:23.763 回答
0

我通过一些编辑解决了它,最终代码是:

$result_set = mysqli_query($con,"SELECT points FROM total WHERE id = 1");
$row = mysqli_fetch_assoc($result_set);
$old_total = $row['points'];
$new_total = $old_total + $_REQUEST['total'];
mysqli_query($con,"UPDATE total SET points = $new_total WHERE id = 1");
mysqli_close($con);
?>

非常感谢 Jodes ;)

于 2013-03-08T05:26:54.930 回答