Увеличение строк в базе данных

0

У меня есть форма, которая добавляет/редактирует событие. А именно, я хотел бы расширить его с помощью функции добавления значения автоматически (так же, как приращение и ++). У меня есть 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. Я не знаю, если он хорошо сочетается с этими статистическими данными.

Теги:
if-statement
forms

1 ответ

0
Лучший ответ
UPDATE statistic_tips (stat_win) VALUES '$win1+=1'

Это недопустимый синтаксис SQL.

Что вы ищете:

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

Обратите внимание, что вам не нужно заранее выбирать предыдущее значение из базы данных - запрос UPDATE будет увеличивать его.

  • 0
    Нет ошибок, но ничего не добавить к статистикам. Я даже пытался с: INSERT INTO statistics_tips (stat_win, stat_false) VALUES ('1', '0') ";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню