Отправить массив JavaScript в SQL, а затем получить информацию обратно в HTML

0

У меня есть 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.

Мне интересно, возможно ли то, что я пытаюсь достичь? Каким будет общий метод, и нужно ли мне загружать новую страницу? И если это невозможно, что было бы лучше?

  • 0
    либо вы предварительно загружаете все значения, либо делаете запрос xmlhttprequest
Теги:

2 ответа

1
Лучший ответ

Ваш вопрос очень широк, и чтобы ответить на него, нужно знать и использовать некоторые вещи.

То, что вы хотите, очень возможно. Фактически, есть технологии, которые в своей основе сосредоточены на предоставлении решений для таких проблем, как ваша! Вам нужна какая-то полная информация (и, возможно, опыт работы с) 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, он просто работает и даже лучше подходит для таких вещей.

  • 0
    Спасибо. Похоже, мне придется немного почитать!
  • 0
    Да, но это того стоит :) Удачи!
1

Вы должны использовать 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;
    }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню