2016-02-15 2 views
0

Я искал в Интернете и нашел что-то об использовании ajax для настройки информации в моей базе данных. Я нашел this page, но он показывает, как получить информацию из вашей базы данных.Mysql Вставить запрос через Ajax

Возможно ли установить информацию в базе данных?

Я использую это для расписания.

в моей БД у меня есть таблица, которая содержит следующие столбцы:

  • STARTDATE
  • ENDDATE
  • ProductDescription
  • Ожидаемое производство
  • фактического производства
  • Разница

Когда они создают расписание, они знают только первые четыре. Остальные две должны быть заполнены автоматически. Я делаю это, когда производство закончено:

Я сделал небольшой старт о проверке, если производство осуществляется:

setInterval(function() 
{ 
    var currentTime = new Date(); 
    var endProductionTimeMachine1 = <?php echo json_encode($TempomaticRow1[0]['Einddatum']) ?>; // get the enddate from the database via php 
    var ActualProductionToday = 2100; //just an example value 

    //Convert mysql date to javascript date 
    var t = endProductionTimeMachine1.split(/[- :]/); 
    var endProdTimeMachine1 = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]); 

    if(currentTime == endProdTimeMachine1) 
    { 
     //set information in the DB   
    } 
},1000); 

Так что я хотел бы знать, если я могу назвать страницу PHP, которая вставляет информацию в мою базу данных с параметр с этой страницы.

+0

Получение и установка информации зависит от запроса (SELECT, INSERT, UPDATE, DELETE) и все они могут быть выполнены на основе вызова AJAX для PHP кода. –

ответ

1

Да, вы можете.

Вы можете сделать это с помощью jquery, используя метод post через ajax.

Итак, теперь, когда у вас есть ВАР вы должны добавить такой код:

$.ajax({ 
    method: "POST", 
    url: "some.php", //the endpoint in php where your save method is 
    data: { currentTime: currentTime, endProductionTimeMachine: endProductionTimeMachine1 ...and so on} 
}) 
    .done(function(msg) { 
    alert("Data Saved: " + msg); 
    }); 

и в вашем PHP просто сделать это ...

if(isset($_POST['currentTime']){ 
    $currentTime =$_POST['currentTime']; 
} 
... and so on 

После вы получите все ваши vars убедитесь, что вы используете (если вы не используете фреймворк) очистку инъекций mysql.

Я предлагаю использовать mysqli_real_escape_string, после того, как все ваши переменные и все на вашей стороне PHP, вы можете создать свой запрос для установки/обновления информации на вашем db.

Более подробную информацию о Ajax here

+0

Есть ли способ, как я могу видеть, что он делает на странице PHP? Когда я просто открываю страницу php, она пуста (поскольку данные, которые она отправляет, не установлены) – Bart88

+0

вы можете проверить свои журналы, если что-то не удалось или было успешным, там появится – jpganz18

+0

, если я напишу сообщение (для отображения if $ stmt-> execute() === true) ') Как я могу видеть это в моих журналах? или как я могу его зарегистрировать? Я не вижу, что происходит на моей php-странице сейчас .... – Bart88

1

Используйте эту страницу и измените вызов AJAX, чтобы он запускал скрипт PHP, который затем обновляет вашу базу данных. Отправьте всю информацию, необходимую серверу. Чтобы изменить базу данных, используйте «подготовленные операторы» либо через MySQLi, либо PDO.
Никогда не отправляйте SQL-запрос от клиента на сервер! Всегда отправляйте значения и создавайте запрос на сервер!

Для полного примера, вы можете взглянуть на это: http://www.plus2net.com/php_tutorial/display-record-edit.php

Смежные вопросы