У меня есть javascript-массив, в котором хранятся номера мест (в кинотеатре), которые выбираются пользователем, щелкая и добавляя в массив каждый раз, используя функцию. Я хочу, чтобы страница показывала общую стоимость этих мест, что означает доступ к таблице sql внутри некоторого php.
Таким образом, у меня есть, например, seatNumbers = ["a1", "d6", "e3"] и три запроса sql, например 'select cost from seat, где seat_number =' a1 ';'. Функция, которая добавляет к массиву при нажатии на сиденье и печатает сиденья, выглядит примерно так:
var seatArray = [];
function addSeat(seat) {
seatArray.push(seat);
document.getElementById("textarea").innerHTML="Seats : ";
for (x in arraytest) {
document.getElementById("textarea").innerHTML+=arraytest[x];
document.getElementById("textarea").innerHTML+=" ";
}
}
И я хочу показать общую стоимость в HTML.
Мне интересно, возможно ли то, что я пытаюсь достичь? Каким будет общий метод, и нужно ли мне загружать новую страницу? И если это невозможно, что было бы лучше?
Ваш вопрос очень широк, и чтобы ответить на него, нужно знать и использовать некоторые вещи.
То, что вы хотите, очень возможно. Фактически, есть технологии, которые в своей основе сосредоточены на предоставлении решений для таких проблем, как ваша! Вам нужна какая-то полная информация (и, возможно, опыт работы с) AJAX и, возможно, даже REST. Используя AJAX, ваша страница не будет перезагружаться, и в вашей ситуации AJAX, вероятно, лучший выбор.
Чтобы указать вам в правильном направлении: AJAX javascript W3Schools Tutorial и учебник по PHP AJAX W3Schools
Затем используйте jQuery, чтобы сделать все это намного проще: jQuery (я бы пошел на 1.x)
Вам нужно будет создать API, который принимает запрос HTTP (желательно GET) и возвращает стоимость места, на которое вы ссылаетесь в своем URL-адресе (например, больше REST, должен вернуть весь объект места с включенной ценой): /seat/200
, или (не REST like) /seat/cost/200
).
Ваш выбор, если вы хотите следовать (если вы не читали его, возможно, путают) правила REST. В вашей ситуации я только начинал с какого-то старого старого AJAX, он просто работает и даже лучше подходит для таких вещей.
Вы должны использовать AJAX. Попробуйте использовать библиотеку jQuery и функцию ajax.
Скрытый массив с сидениями в строке JSON и отправьте его AJAX на страницу, на которой можно проверить всю стоимость. Затем вы можете обновить свой HTML-код с общей стоимостью.
var json_data = '{...}';
$.ajax({
url: "total_cost.php",
dataType: "json",
type: 'POST',
data: { json: json_data },
success: function(response) {
// .. on success
var json_response = jQuery.parseJSON(response);
var cost = json_response.total_cost;
}
});