Мне нужно иметь кнопку, которая вызывает функцию php для отображения отображаемых данных из db. Как, черт возьми, я это делаю? Я только выяснил, что, поскольку php – это серверная сторона, это отстой. Так что, пожалуйста, помогите?
Это задание для ajax, как упомянуто другими. Если я могу уточнить, если вы начинаете, я настоятельно рекомендую использовать библиотеку javascript, чтобы сделать вашу жизнь проще. С прототипом , вот что может выглядеть ваша кнопка:
<input type="button" id="button_foo">Button</input>
Вот как выглядит ваш javascript:
$('button_foo').observe('mousedown',function(e){ new Ajax.Request('handler.php',{ method:'post', onSuccess:function(t){ $('table_bar').update(t.responseText); } }); });
Сначала это может показаться немного сложным, но я думаю, что базовый js имеет довольно управляемую кривую обучения при использовании библиотеки. Вышеприведенный код будет принимать любые выходные данные handler.php и заменять содержимое элемента с идентификатором «table_bar» на возвращаемый html.
если вы решите использовать прототип, документы действительно полезны и понятны, и есть действительно отличная книга из прагматичной прессы по этому вопросу, которая позволит вам понять ее очень быстро.
Надеюсь, это поможет!
Вы не можете напрямую вызвать функцию PHP, нажав кнопку по той причине, о которой вы заявили сами. Чтобы выполнить PHP-код, вам нужно сделать новый запрос на сервер. Запрос можно было бы сделать другим сценарием или тем же, что и ваша страница, вызвав его снова с помощью некоторого параметра, чтобы контролировать его поведение.
Кроме того, вы можете вызвать PHP-скрипт через Javascript (AJAX), чтобы вы могли обрабатывать его вывод и обновлять страницу без полной перезагрузки.
Второй вариант более аккуратный, но более сложный, первый из них может выглядеть менее приятным для глаз, но работает независимо от браузера пользователя с включенным Javascript или нет.
Вероятно, он должен находиться внутри поля формы, что-то вроде этого:
<form action="YOUR_PHP_SCRIPT.php"> <input type="submit" /> </form>
Когда кнопка отправки нажата, действие для формы запускается.
Может быть, есть и другие вещи, которые вам нужно будет принять во внимание с этого момента, но это начало.
Да, потому что PHP является серверной, у вас есть два варианта. Одним из них является создание кнопки, вызывающей скрипт PHP и отображающей совершенно новую страницу. Другой – использовать AJAX (асинхронный javascript и XML) на странице, см. Jquery.com для хорошего способа сделать это и только повторно отобразить таблицу, отображающую данные.
что Yacoby сказал, вам нужно использовать AJAX для вызова на сервер, или что-то вроде этого: http://www.ajaxdaddy.com/demo-sorted-table.html