Другой вопрос новичком. У меня есть переменная php, которая запрашивает базу данных для значения. Он сохраняется в переменной $ publish и его значение будет меняться (в базе данных), когда пользователь нажимает на гиперссылку.
if ($publish == '') { Link to publish.html } else { Link to edit.html }
Что происходит в фоновом режиме, я запрашиваю таблицу базы данных для некоторых данных, которые хранятся в переменной $ publish. Если $ publish пуст, он добавит ссылку для publish.html во всплывающем окне. Всплывающее окно обработает форму и добавит данные в базу данных, а это означает, что публикация $ public больше не пуста. То, что я хотел бы достичь, состоит в том, что как только форма обрабатывается во всплывающем окне, и данные добавляются в базу данных, ссылка должна быть изменена на edit.html. Это может произойти, когда страница будет повторно запрашивать базу данных, но это должно произойти без обновления страницы.
Как это можно использовать с помощью javascript, jquery или ajax? Пожалуйста помогите.
Javascript сам по себе не может использоваться для работы с базой данных. Это делается с использованием php (или на стороне сервера по вашему выбору). Ajax используется для отправки запроса на ваш php-скрипт с использованием javascript, который, в свою очередь, связывается с db. И это не требует обновления страницы.
Поэтому то, что вы пытаетесь сделать, может быть легко достигнуто с помощью ajax. Поскольку вы упомянули jquery, вы можете проверить методы $ .ajax или $ .post в jquery, которые делают процесс еще более простым.
Вам необходимо обработать форму с помощью ajax. Запрос ajax отправляется на php-скрипт, который внесет необходимые изменения в базу данных и отправит новую ссылку (ссылку на edit.html) в ответ. Получив ответ, просто замените текущий элемент привязки на новый.
например.
$.post(url, formdataobject , function (resp) { $("a.youra").text('edit').attr('href', resp); });
url
– где находится php-скрипт
formdataobject
– объект javascript, который будет иметь данные формы как пары ключевых значений
третий параметр – анонимная функция, также известная как функция обратного вызова, поскольку она будет вызываться только тогда, когда ответ получен с сервера. Это связано с тем, что запросы ajax являются асинхронными.
Внутри функции обратного вызова jquery используется для изменения текста внутри элемента привязки для edit
а атрибут href
изменяется на значение, полученное в ответе.
$ .post означает, что мы используем метод post. поэтому параметры могут быть доступны как элементы массива $ _POST в php. После обновления db вы можете просто echo
на новую ссылку, и она будет получена в ответ.
Кроме того, есть другие форматы, в которых вы можете получить ответ, например. xml, json.
Я попытаюсь оставить технический жаргон в стороне и дать более общий ответ, так как я думаю, что вас могут смутить с помощью клиентских и серверных скриптов.
Подумайте о javascript как языке, который может только проинструктировать вашего веб-браузера, как действовать. Javascript выполняется после того, как сервер уже завершил обработку вашей веб-страницы.
PHP, с другой стороны, работает на вашем веб-сервере и имеет возможность связываться с вашей базой данных. Если вы хотите получить информацию из своей базы данных с помощью javascript, вам нужно, чтобы javascript попросил PHP запросить базу данных через вызов AJAX скрипту PHP.
Например, у вас может быть сценарий javascript, например: http://www.myserver.com/ajax_function.php?do=queryTheDatabase
В итоге: Javascript не может подключиться к базе данных, но он может попросить PHP сделать это. Надеюсь, это поможет.
Позвольте мне попробовать, вы хотите изменить ссылку на странице из всплывающего окна, которое обрабатывает обработку формы. Попробуйте указать свою ссылку на контейнер:
<div id="publish_link"><a href="#" id="publish">Publish</a></div>
Что касается отправки формы, используйте Ajax для отправки данных на сервер для обновления и получения ответа, чтобы изменить ссылку для редактирования или что-то еще:
$.post("submit.php", { some_field: "some_value"}, function(response) { if(response.isPublished) $('#publish_link', window.opener.document).html('<a href="edit.html">Edit</a>'); });
В основном ваша ссылка на публикацию содержится в div
с идентификатором publish_link
поэтому вы меняете его содержимое позже после обработки данных без перезагрузки страницы. Во всплывающем окне, где вы будете обрабатывать форму, это делается с использованием метода POST JQuery Ajax для отправки данных. Затем ваш сценарий принимает эти данные, обновляет базу данных и успешно возвращает ответ. Функция jQuery POST получает этот ответ, и там есть проверка, если isPublished
is true, получите всплывающее окно всплывающего окна (ваше главное окно) и обновите ссылку на Edit
. Просто идея, возможно, не самая лучшая там.
Это невозможно сделать с помощью javascript, jquery или ajax. только серверный скрипт может запрашивать базу данных. с запросом ajax вы можете получить выход скрипта. Запросы ajax могут быть отправлены либо с чистым javascript, либо с jquery.
Ну, я думаю, я понимаю ваше quaestion, но вы должны получить отправную точку, постарайтесь понять это:
вы можете;) сначала вы должны создать файл php для запроса базы данных и вернуть что-то вроде true или flase, а затем с URL-адресом файла проверить функцию и получить ответ
function find_published(folder_id) { var aj_url = "{{server_path}}/ajax/url" var list; $.getJSON(aj_url+"?callback=?&", function(data) { //here is your data... true false ... do every thing you want } ); };
это приложение для node.js выполняет запросы mysql https://github.com/felixge/node-mysql
Для этого вам нужно использовать AJAX, например .post()
или .get()
или JSON.