Проверка, есть ли бронирование

199
30 марта 2018, 14:49

Здравствуйте. Пишу приложение на nwjs для администрирования гостиницы. В базе есть бронирования с полями даты заезда и даты выезда. Делаю валидацию для бронирования на JavaScript, чтобы нельзя было внести новое бронирование в тот же номер, если в этот период там уже кто-то проживает. На ум ничего совершенно не приходит. У кого был опыт? Что можете подсказать?

const mysql = require("mysql");
const async = require('async');
const connection = mysql.createConnection({
    host: "*",
    user: "*",
    password: "*",
    database: '*',
    port: 3306
});
$('#reserve-create-button').click(function () {
    var inputs = $('#reserve-create-form').children();
    var results;
    var okay = true;
    var okayElements = [inputs[1], inputs[3], inputs[5], inputs[7], inputs[9]];
    for(var i = 0; i < okayElements.length; i++) {
        if($(okayElements[i]).val() === "") okay = false;
    }
    if(!okay) alert('Все поля должны быть заполнены');
    if(okay) {
        async.auto([
            function(callback) {
                connection.query("SELECT start, finish FROM `reserve` WHERE room = '"+$(inputs[9]).val()+"'", function (error, result) {
                    results = result;
                    callback();
                });
            }
        ],
            function() {
//здесь будет валидация
                    connection.connect();
                    connection.query("INSERT INTO `reserve` (name, passport, start, finish, room) VALUES ('" + $(inputs[1]).val() + "', '" + $(inputs[3]).val() + "', '" + $(inputs[5]).val() + "', '" + $(inputs[7]).val() + "', '" + $(inputs[9]).val() + "')", function (error) {
                        if (error) throw error;
                    });
                    connection.end();
            }
        );
    }
});
Answer 1

Можно просто проверять запрошенный номер на предмет отсутствия временной метки...при выезде очищать.

READ ALSO
Как сделать несколько счётчиков кликов?

Как сделать несколько счётчиков кликов?

Через php клики по кнопке сохраняются в текстовый документ

302
JSDoc: элемент массива

JSDoc: элемент массива

Приведу пример исходной структуры:

212
Уникальные элементы [дубликат]

Уникальные элементы [дубликат]

На данный вопрос уже ответили:

230