我有一个添加/编辑活动的表单。 也就是说,我想用自动添加值的功能扩展它(就像增量和++一样)。 我在数据库中有statistic_tips,包含两行:stat_win和stat_false 仅在编辑期间(因为原则上编辑通常包括更改一个记录)在进行更改后,我想根据所选选项(获胜,结果丢失)自动增加stat_win或stat_false行。 亲爱的,你是如何实现这一目标的? 提示?可能我希望听到更好的解决方案,带来愉快的愿望。 我为一个错误的问题道歉,但我是初学者 在红色中我标记了片段,在那里我试图找出它,但不幸的是它失败了。
<?php
function undefinedIndex(){
}
set_error_handler("undefinedIndex", E_NOTICE);
if(isset($_POST['add_tip'])){
$team1=$_POST['team1'];
$team2=$_POST['team2'];
$league=$_POST['league'];
$datentime=$_POST['datentime'];
$draw=$_POST['draw'];
$results=$_POST['results'];
$sql_insert="INSERT INTO premium_tips(datentime, league, team1, team2, draw, results) VALUES ('$datentime','$league','$team1','$team2','$draw','$results')";
if ($conn->query($sql_insert) === TRUE) {
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
if(isset($_POST['update_tip'])){
$team1=$_POST['team1u'];
$team2=$_POST['team2u'];
$league=$_POST['leagueu'];
$datentime=$_POST['datentimeu'];
$draw=$_POST['drawu'];
$results=$_POST['resultsu'];
$id=$_POST['id'];
[color="#FF0000"] $win1=$mysqli->query('SELECT stat_win FROM statistic_tips');
$loss1=$mysqli->query('SELECT stat_false FROM statistic_tips');
if($results=="win"){
$sql_insert="
UPDATE statistic_tips (stat_win) VALUES '$win1+=1'";
}
if($results=="loss"){
$sql_insert="
UPDATE statistic_tips (stat_false) VALUES '$loss1+=1'";
}[/color]
$sql_insert="
UPDATE premium_tips SET datentime='$datentime', league='$league',team1='$team1', team2='$team2',draw='$draw', results='$results' WHERE id='$id'";
if ($conn->query($sql_insert) === TRUE) {
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>
这是负责编辑表格的文件
$sql_get = "SELECT * FROM matches WHERE match_id='$q'";
$result = $conn->query($sql_get);
if($result->num_rows>0){
while($row = $result->fetch_assoc()){
echo '<form role="form" method="post" action=""
onreset="resetAction()">
<div class="form-group">
<label>Match info</label>
<input class="form-control" placeholder="Date of match" type="datetime-local" name="datentime" required><br>
<input class="form-control" placeholder="League" name="league" required><br>
<input class="form-control" placeholder="Stadium" name="stadium" required>
</div>
<div class="form-group">
<label>Home</label>
<input class="form-control" placeholder="Enter team name" name="team1" required>
</div>
<div class="form-group">
<label>Away</label>
<input class="form-control" placeholder="Enter team name" name="team2" required>
</div>
<button type="submit" class="btn btn-default" name="add_match">Add Match</button>
<button type="reset" class="btn btn-default">Reset</button>
</form>';
实际上,我的意思是WON / LOSS图表的自动统计 在开始时,添加时,每种类型都有$ result = actual,当编辑它时,它会更改为$ result = win或$ result = loss 我不知道他是否与这些统计数据结合得很好。
答案 0 :(得分:0)
UPDATE statistic_tips (stat_win) VALUES '$win1+=1'
这不是有效的SQL语法。
您正在寻找的是:
UPDATE statistic_tips SET stat_win = stat_win + 1 WHERE id = ?
请注意,您不需要事先从数据库中选择以前的值 - UPDATE查询会将其递增。