增加数据库中的行数

时间:2017-12-22 13:48:36

标签: php mysql forms if-statement

我有一个添加/编辑活动的表单。 也就是说,我想用自动添加值的功能扩展它(就像增量和++一样)。 我在数据库中有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 我不知道他是否与这些统计数据结合得很好。

1 个答案:

答案 0 :(得分:0)

UPDATE statistic_tips (stat_win) VALUES '$win1+=1'

这不是有效的SQL语法。

您正在寻找的是:

UPDATE statistic_tips SET stat_win = stat_win + 1 WHERE id = ?

请注意,您不需要事先从数据库中选择以前的值 - UPDATE查询会将其递增。