duanou9758
duanou9758
2015-06-30 05:19

php:使用<form>标签将新值与php中的现有值相加

已采纳

I am creating a webpage that is similar to a points system. It consists of a table with name and points columns. The user inputs a number, which then adds that value to the existing number in the table. My question is how would I be able to add those two values and update the table(database)?

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

?>

If there are any questions I will gladly elaborate on anything. I am also fairly new to php.

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • doukuilian8365 doukuilian8365 6年前

    Let's say you have an html form like so:

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

    and an update.php:

    <?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.
    }
    
    ?>
    
    点赞 评论 复制链接分享

相关推荐