使用提交表单php更新表中的值

时间:2013-03-07 13:51:59

标签: php html mysql

我的项目是:我的数据库中有一个值(整数),默认为0,我希望每当用户点击提交时更新(我的意思是不更改,但要添加)我的HTML页面上的表单。 进一步说明:例如我的默认值为0,然后第一个访客提交值= 20,它变为20,然后保存在数据库中。下一位客人提交值= 30,表值更改为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);
?>

2 个答案:

答案 0 :(得分:0)

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

然后,您需要在该数据库中设置一个表。鉴于上面的PHP,表名似乎是&#34;总计&#34;。

在您的表格&#34; total&#34;中,您需要插入一行。您可以通过运行如下查询来执行此操作:

<?
// 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);
?>

希望这有帮助。

答案 1 :(得分: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;)