php:使用<;表单>;标记将php中的一个新值与一个现有值相加


php: Using <form> tag to sum a new value to an existing value in php

我正在创建一个类似于积分系统的网页。它由一个包含名称和点列的表组成。用户输入一个数字,然后将该值添加到表中现有的数字中。我的问题是如何添加这两个值并更新表(数据库)?

<?php
$con = mysql_connect("xxx, xxx, xxx);
if (!$con) {
die("can not connect:" . mysql_error());
}
mysql_select_db("points", $con);
if(isset($_POST['update'])){
$UpdateQuery = "UPDATE coach_tbl set coachscore = coachscore + '$add' WHERE coach_score = '$_POST[hidden]'";
mysql_query($UpdateQuery, $con);
};
if (isset($_POST['submit'])){
    $AddQuery = "INSERT INTO coach_tbl (coach_name, coach_score) VALUES('$_POST[name]', '$_POST[score]')";
    mysql_query($AddQuery, $con);   
};
$sql = "SELECT * FROM coach_tbl ORDER BY coach_score DESC";
echo "<table border=1>
<tr>
<th>NAME</th>
<th>Score</th>
</tr>";
$myData = mysql_query($sql, $con);
while($record = mysql_fetch_array($myData)) {
    echo "<form action=index.php method=post>";
    echo "<tr>";
    echo "<td><input type=text name=coachname value='" . $record['coach_name'] . "'> </td>";
    echo "<td><input type=text name=coachscore value='" . $record['coach_score'] . "'> </td>";
    echo "<td><input type=hidden name=hidden value='" . $record['coach_score'] . "'> </td>";
    echo "<td><input type=submit name=update value=update'" . "'> </td>";
    echo "<td><input type=number min="1" max="10" name=add value=add'" . "'> </td>";
    echo "</tr>";
    echo "</form>";
    }
echo "</table>";

mysql_close($con);
?>

如果有任何问题,我很乐意详细说明。我也是php的新手。

假设您有一个类似这样的html表单:

<form action="update.php" method="POST">
<input type="number" name="updateData" value=""/>
<input type="submit">
</form>

和更新。hp:

<?php 
//assuming you want 1-10 points max to be added each time
if( isset($_POST['updateData']) && $_POST['updateData'] >=1  && $_POST['updateData'] >=10){
 //set to user inputed value
$insertData = $_POST['updateData'];
$sql = "UPDATE point_table SET points = points + $insertData WHERE id = 1";
//you will need to finish off the query by checking connecting with your database.
}
?>