Хотите обновить значение базы данных из введенного текста HTML без нажатия кнопки

У меня есть текстовое поле ввода, содержащее заданное значение, и у меня есть таблица в базе данных, имеющая значение по умолчанию, но нужное. Если я изменил заданное значение в текстовом поле, значение в таблице базы данных будет обновлено без нажатия кнопки!

Вот HTML-код:

 <input class="tempSet" id="ACSet" type="text"  value="35">

и код PHP, но не смог подключить текстовое поле к PHP, чтобы выбрать новое значение:

  <?php
     $DATABASE_HOST = 'localhost';
     $DATABASE_USER = 'user';
     $DATABASE_PASS = 'pass';
     $DATABASE_NAME = 'name';
     // Try and connect using the info above.
     $db = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS,                   
       $DATABASE_NAME);
     if (!$db){

die("Connection Failed: ". mysqli_connect_error());

     }

     $db_update = "UPDATE temp_setpoint SET set_point='??' WHERE id=1";
     $result = mysqli_query($db, $db_update);
      ?>

Это будет решение javascript/ajax, если вы хотите отправить данные формы в PHP без отправки формы.

tshimkus 22.05.2019 13:34

для этого вам нужен jquery.. для обновления базы данных без нажатия какой-либо кнопки.

danish-khan-I 22.05.2019 13:34

@tshimkus Да, понял .. но не могли бы вы подсказать, как выбрать имя текстового поля, которое будет внутри 'set_point='??'`, спасибо

M.Saeed 22.05.2019 13:39

@danish-khan-I, пожалуйста, не могли бы вы подсказать мне, как включить мой ввод в текстовое поле для выбора из $db_update = "UPDATE temp_setpoint SET set_point='??' WHERE id=1";

M.Saeed 22.05.2019 13:41

Используйте Ajax для достижения того, чего вы хотите jquery onchange

user1 22.05.2019 13:53
3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Введение в технологический стек Twitch
Введение в технологический стек Twitch
В этой статье мы подробно рассмотрим стек Twitch, который подразделяется на следующий набор технологий:
8 полезных HTML-тегов, которые лучше использовать вместо <div>
8 полезных HTML-тегов, которые лучше использовать вместо <div>
Когда я только начинал изучать html, я использовал div для всего, это был один из первых тегов, которые я выучил, и казалось, что он работает в любой...
HTML5: API локального хранилища (Local Storage)
HTML5: API локального хранилища (Local Storage)
LocalStorage - это простой способ хранения данных в браузере пользователя.
Доступность HTML - программирование с инклюзивной перспективой
Доступность HTML - программирование с инклюзивной перспективой
Представьте, что вы хотите поехать на пляж. Представьте, что вы упорно трудились весь год и заслужили это. Прибыв на место, вы обнаруживаете, что...
2
5
659
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте jquery, чтобы получить значение текстового поля в качестве значения ввода пользователя, а затем отправьте это значение в файл php с помощью Ajax.

$('document').ready(function(){

$('#ACSet').on('input',function(){

  var value = $(this).val();

$.ajax({
    type : "POST",
    data : {acset:value},
    url  : "file.php",
    dataType : "json",
    encode  : true,
    success : function(response){
      
      console.log(response.message);
    }


});

});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input class="tempSet" id="ACSet" type="text"  value="35">

файл.php

<?php

$DATABASE_HOST = 'localhost';
$DATABASE_USER = 'user';
$DATABASE_PASS = 'pass';
$DATABASE_NAME = 'name';
// Try and connect using the info above.
$db            = mysqli_connect($DATABASE_HOST, $DATABASE_USER, $DATABASE_PASS, $DATABASE_NAME);
if (!$db) {

    die("Connection Failed: " . mysqli_connect_error());

}

$data = array();

$acset = intval($_POST['acset']) ?? null; // value from form

$db_update = "UPDATE temp_setpoint SET set_point= ?  WHERE id=1";
$stmt      = $db->prepare($db_update);
$stmt->bind_param("i", $acset);

if ($stmt->execute()) {

    $data = array(
        "status" => 'success',
        'message' => "Data updated sucess"
    );
} else {

    $data = array(
        "status" => "fail",
        'message' => "Updated fail, please try again later"
    );

    error_log($stmt->error);
}

echo json_encode($data);
?>

если нет значения, которое я получил 0 могу ли я удалить нулевое целое число, если нет значения, я имею в виду сделать его пустым! спасибо за ваше решение :)

M.Saeed 25.05.2019 14:43

Другие вопросы по теме