Кнопка "Отправить" -> запустить.php -> всплывающее окно -> обновить часть страницы php

На моей странице в настоящее время у меня есть форма выбора и прикрепленная кнопка отправки, которая генерируется динамически на основе записей в моей базе данных. Вот мой выведенный HTML

<div id="structures">
<h1>Build</h1>
<form name="buildForm" id="buildForm" method="POST" onsubmit="buildForm();return false;">
    <select name="buildID" class="buildClass">
    <option value="0" selected="selected" data-skip="1">Build a Structure</option>
<option name='Town Center' value='1' data-icon='../img/structures/tc.png' data-html-text='Town Center<i>
    500 minutes<br>50000 gold</i>'>Town Center</option>
<option name='Barracks' value='2' data-icon='../img/structures/barracks.png' data-html-text='Barracks<i>
    25 minutes<br>1500 gold</i>'>Barracks</option>
<option name='Dragon Roost' value='3' data-icon='../img/structures/droost.png' data-html-text='Dragon Roost<i>
    200 minutes<br>5000 gold</i>'>Dragon Roost</option>
<option name='Mage Hall' value='4' data-icon='../img/structures/mage.png' data-html-text='Mage Hall<i>
    40 minutes<br>300 gold</i>'>Mage Hall</option>
<option name='Test Lab' value='6' data-icon='../img/structures/testlab.png' data-html-text='Test Lab<i>
    1 minutes<br>10 gold</i>'>Test Lab</option>
    </select>
    <div id="buildSubmit">
        <input class="button" type="submit" value="Submit"/>
    </div>
</form>
</div>

Несмотря на то, что я наконец-то совершенствуюсь с PHP/mySQL и html/css, javascript по-прежнему бросает меня в тупик.

Когда пользователь нажимает "отправить", я хочу, чтобы появилось всплывающее меню, и я хочу обновить базу данных на основе содержимого отдельного файла php. После того, как они закрываются, я хочу обновить определенную область страницы. Я использую codeigniter, поэтому я загружаю свои модели, чтобы заполнить страницу.

Я хотел бы добавить больше кода, хотя, честно говоря, он такой беспорядок и совершенно бесполезный, что вместо этого я подумал, что буду просить больше здорового руководства о том, что мне нужно сделать, чтобы реализовать что-то подобное.

Примеры были бы потрясающими, но я просто пытаюсь обернуть голову вокруг того, что мне действительно нужно сделать, чтобы сделать эту работу.

1 ответ

Решение

Вот шаги, которые, я думаю, вы пытаетесь выполнить вместе с информацией для выполнения этих шагов. Пожалуйста, уточните, если я не правильно понимаю...

После нажатия кнопки отправки...

Выполнить файл php, который изменяет БД
Для этого, поскольку вы используете jQuery, вы можете сделать ajax-вызов вашего PHP-файла с соответствующими параметрами, необходимыми для обновления БД.

Для примера совместного использования jQuery, PHP и mysql см. Использование JQuery AJAX и php для извлечения данных из базы данных mysql. Также смотрите документацию по jQuery: jQuery.ajax

Всплывающее окно для подтверждения изменения (с использованием JavaScript)

var answer = confirm("Do you want to change this?")
if (answer){
   // Possibly call another PHP ajax script to commit database changes...
}
else{
   // Rollback database changes and do some other processing...
}

Чтобы перезагрузить страницу (используя JavaScript)

window.location.reload();
Другие вопросы по тегам