duanou9758 2015-06-30 05:19
浏览 25
已采纳

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 2015-06-30 05:45
    关注

    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.
    }
    
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Matlab问题解答有两个问题
  • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架
  • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
  • ¥15 stm32的can接口不能收发数据
  • ¥15 目标检测算法移植到arm开发板
  • ¥15 利用JD51设计温度报警系统
  • ¥15 快手联盟怎么快速的跑出建立模型