gpt4 book ai didi

php - 如何避免使用表单进行多次 SQL 更新?

转载 作者:太空宇宙 更新时间:2023-11-03 11:18:47 24 4
gpt4 key购买 nike

我试图通过让用户提交表单来更新 mysql 数据。

用户可以更新比赛结果,获胜的球队在 ​​mysql 中获得 +1 胜利。用户可以随时查看游戏形式并更新/更改游戏。

我的问题是,当用户再次更新表单时,如何防止第二次或第三次 +1 获胜给现有的获胜团队。

例如:A 队击败了 B 队,用户提交了表单。 mysql会+1为A队赢列。后来用户发现C队打败D队,再次提交表格,但是A队,B队,C队和D队都是同一个表格,所以如果用户再次提交表格,A 队将在 win 栏中获得 2 场胜利,C 队将获得 1 场胜利。我想让 A 队只赢 1 场。不确定是否可能。感谢您的回复。

表单HTML

<form>
//First time The user only select the winning team in winner1 and submit the form
//Second time the user see the page, The Team A will be selected base on 1 win in mysql
//when user tried to submit again,
//Team A will get another 1 win in its record which is not true.

<select name='winner1'>
<option>Select the winner</option>
<option>Team A</option>
<option>Team B</option>
</select>

//User didn't select the winning team first time
//User submits again with the selected winner team for winner2 .
//database will be Team A => 2 wins, Team C =>1 win.

<select name='winner2'>
<option>Select the winner</option>
<option>Team C</option>
<option>Team D</option>
</select>
</form>

我的结果 php

for ($i=1; $i<3; $i++){

$winner=$_POST['winner'.$i]

//omit some php query code.......

select win from team where teamName ='$winner'

//get win and +1 to win
$win++

update team set win='$win' where teamName ='$winner'
}

我希望我能清楚地解释我的问题。感谢您的回复。

最佳答案

您的更新查询只需:

UPDATE TEAM 
SET win = win+1
WHERE teamName = '$winner'
--AND win = 0

无需访问 PHP 并返回数据库;它可以在一次旅行中完成。

如何防止重复提交?仅显示未指定获胜者的游戏。此外,检查尚未指定获胜者的更新声明。

关于php - 如何避免使用表单进行多次 SQL 更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2945610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com