2014-01-31 3 views
-2

Я делаю php-функцию, и когда я нажимаю кнопку добавления события, добавьте поле выбора, которое заполняет события из базы данных.Как вызвать функцию PHP на кнопке html?

Вот мой код:

<? 
function addevents(){ 
$strQuery1="SELECT event_id,event_name from events"; 
$result1 = $GLOBALS ['mysqli']->query ($strQuery1) or die ($GLOBALS ['mysqli']->error . __LINE__); 
?> 
<select id="thirdevent" name="thirdevent"> 
<? 
    while($ors1 = $result1->fetch_assoc()) { 
     echo '<option value="'.$ors1['event_id'] .'" >' . $ors1['event_name'] . '</option>'; 
    } 
} 
?> 
<input type="button" name="add" value="Add Event" onclick="addevents();"/> 
+2

вы должны использовать вызов ajax вместо функции php для события onclick – Dinesh

+2

Вы вводите в заблуждение js и php. Php работает только при загрузке страницы. Как уже упоминалось выше, ajax - это способ пойти здесь – Steve

+2

Если вам нужен простой способ сделать вызов Ajax, используйте jquery (jquery.com) – gafreax

ответ

1

Вы можете сделать это легко, используя метод jquery ajax,

PHP File "addEvents.php"

<?php 

$strQuery1="SELECT event_id,event_name from events"; 
$result1 = $GLOBALS ['mysqli']->query ($strQuery1) or die ($GLOBALS ['mysqli']->error . __LINE__); 
echo '<select id="thirdevent" name="thirdevent">'; 
while($ors1 = $result1->fetch_assoc()) { 
    echo '<option value="'.$ors1['event_id'] .'" >' . $ors1['event_name'] . '</option>'; 
    } 
echo '</select>'; 
?> 

HTML и JS/Jquery/Ajax Часть:

<html> 
<head> 
<script src='http://code.jquery.com/jquery-latest.min.js'></script> 
<script> 
function addevents() 
{ 
$.post("addEvents.php",function(data){ 
$("#html_data").html(data); 
}); 
} 
</script> 
</head> 
<body> 
<input type="button" name="add" value="Add Event" onclick="addevents();"/> 
<div id="html_data"></div> 
</body> 
</html> 

Это будет работать, как вы хотите, я надеюсь, что это поможет ..

+0

, когда я использовал ваш код, он дает мне ошибку TypeError: $ .post не является функцией –

+0

Это означает, что вы не привязали надлежащую библиотеку jquery в тегах < head >. Убедитесь, что он прикреплен! то есть

+0

Я прикреплен, но все та же ошибка –

2

PHP является языком сервера и браузер язык браузера,
Для подключения PHP & Js языков Просто используйте Ajax
Ваш вопрос не является полезным
Подробнее книги и узнайте в Интернете ...

1

Для более подробного изложения из предыдущих ответов:

PHP is a preprocessor () 210!). По сути, все в PHP выполняется на сервере, , прежде чем страница будет даже отправлена ​​пользователю.

JavaScriptв вашем браузере. Только с этими двумя моментами PHP и JavaScript не сосуществуют друг с другом одновременно, поскольку они выполняются в разных точках запроса.

Однако, возможно общение между двумя языками. Для достижения этой цели обычно используются несколько методов.

PHP на JavaScript: Возможно, вы захотите использовать настройки сервера в своем JavaScript. В качестве простого примера у вас может быть настройка на вашем PHP, которая выбирает, какой цвет фона превращает страницу через десять секунд. Это невозможно сделать без JavaScript, но параметр находится в PHP. Решение заключается в использовании PHP/HTML для создания переменных JavaScript на вашей странице для использования.

E.g. Над ваш главный файл JavaScript/JavaScript на странице:

<script type="text/javascript"> 
    var server_settings = { 
     'background_color' : '<?php echo $background_color; ?>' 
    } 
</script> 

Тогда позже в вашем JavaScript:

if(server_settings.background_color) { 
    setTimeout(function() { 
     document.body.style.backgroundColor = server_settings.background_color; 
    }, 1000 * 10); // 10 seconds 
} 

JavaScript в PHP: Поскольку PHP является на стороне сервера, вы используете бит функциональности, известный как AJAX, чтобы поговорить с вашим сервером. AJAX обозначает Асинхронный JavaScript и XML, хотя часть XML обычно заменяется на JSON. По сути, ваш JavaScript отправляет запрос на ваш сервер через. URL. Запрошенная страница содержит PHP и любые данные, отправленные через. JavaScript подбирается через заголовки запроса.Например, запрос GET на ваш URL-адрес AJAX, например. http://example.com/deletepost.php?id=5 позволит PHP получать данные, переданные через. $_GET (в примере URL при условии, deletepost.php может использовать $_GET['id'], чтобы выяснить, что сообщение, которое Вы хотите удалить.

Другие методы включают cookies и websockets.

В вашей ситуации, вы хотите, чтобы веб-страницы для выполнения сервера сторона действие после того, как сторона клиента действия. Это означает, что вы должны взять на себя маршрут JavaScript в PHP. из-за этого (именно поэтому все остальное это сказали), вы должны использовать AJAX.

Например

Привязать событие onClick к функции JavaScript.

Функция (при запуске) отправляет запрос AJAX на сервер.

Сервер отвечает путем вывода данных.

JavaScript анализирует и отображает данные пользователю.

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

Смежные вопросы