Arhn - архитектура программирования

PHP для чтения значения БД, JS для его увеличения, AJAX для сохранения в БД, но почему по умолчанию он равен 0.0 перед обновлением страницы?

Я создаю целевую страницу температуры, где форма будет считывать текущую цель, разрешать пользователю +/- на 0,5 с помощью кнопок Javascript, а затем «устанавливать» цель, которая принимает новое значение и сохраняет его обратно в базу данных.

У меня есть рабочая страница, которая может прочитать значение БД и установить его, но затем автоматически возвращается к «0.0» в качестве цели. Если страница обновляется, она отображает цель, но иногда сохраняет ее в 0.0 в БД.

Я очень смущен тем, почему, поскольку я потратил слишком много времени на это, но это меня беспокоит! Любая помощь очень ценится, спасибо.

Вот мой код:

<?php 
    $conn = connect DB stuff here...
    $queryTarget = "SELECT * FROM target;";
    $result2 = $conn->query($queryTarget);
    $conn->close();
        if ($result2->num_rows > 0) {
            while($row = $result2->fetch_assoc()) {
        $target = $row['target'];
      }
    }
?>

<form id="input" method="post" action="">
    Temp <input type="text"  value="<?php echo $target; ?>" name="temp" id="temp"  >
    <input type="button"  id="Up"    value="up" / >
    <input type="button"  id="Down"  value="down"/ >
    <input type="submit" id="submit" value="submit " name="submit">
</form>

<?php
    $conn = connect DB stuff here...
    $temp = $_POST['temp'];
    $updateTarget = "UPDATE target SET target = '";
    $updateTarget = $updateTarget . $temp . "' WHERE id = 1;";

    $result = $conn->query($updateTarget);
    $conn->close();
?>

<script>
    var min = 15,
    max = 25;

    $("#Up").click(function(){
        if($("#temp").val() < 25 && $("#temp").val() >= 15)
            $("#temp").val(Number($("#temp").val()) + 0.5);
    });

    $("#Down").click(function(){
        if($("#temp").val() <= 25 && $("#temp").val() > 15)
            $("#temp").val(Number($("#temp").val()) - 0.5);
    });
</script>
<script>
    $(document).ready(function(){
        $('#submit').click(function(){
            var srt = $("#input").serialize();
            // alert is working perfect
            alert(srt);
            $.ajax({
                type: 'POST',
                url: 'form.php',
                data: srt,
                success: function(d) {
                    $("#input").html(d);
                }
                 return false;
        });
     });
    });

 </script>

Ответы:


1

просто повторите это временное значение

<?php
//$conn = connect DB stuff here...
 $temp = $_POST['temp'];
 or 
 print_r($_POST);
 echo $temp;
 die();
 $updateTarget = "UPDATE target SET target = '";
 $updateTarget = $updateTarget . $temp . "' WHERE id = 1;";

затем проверьте предупреждение, если предупреждение показывает правильные данные, а затем используйте один запрос, подобный этому

 $updateTarget = "UPDATE target SET target = '$temp' WHERE id = 1";
 //i think it will help you to find issue
 $result = $conn->query($updateTarget);
 $conn->close();

 ?>

и ваша функция javascript должна быть обновлена

<script>
 $(document).ready(function(){
$('#submit').click(function(){
  var srt = $("#input").serialize();
        // alert is working perfect
        alert(srt);
        $.ajax({
          type: 'POST',
          url: 'form.php',
          data: srt,
          success: function(d) {
            alert(d);
            $("#input").html(d);
          }

        });
        return false;
      });
     });

  </script>

если вы найдете правильные данные, проверьте структуру вашей базы данных, чтобы она позволяла плавать и т. д. я думаю, что это сработает
вы также можете проверить это

Как искать значение из ввода mysqli в базе данных

07.03.2017
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..