如何在html按钮上调用PHP函数点击?

时间:2014-01-31 11:24:54

标签: javascript php jquery ajax

我创建了一个php函数,当我点击添加事件按钮时,它会添加从数据库中填充事件的选择框。

这是我的代码:

<?
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();"/>

3 个答案:

答案 0 :(得分:2)

PHP是服务器语言,javascript是浏览器语言,
用于连接PHP&amp; Js语言只需使用Ajax
你的问题没用
阅读更多书籍并在网上学习......

答案 1 :(得分:1)

您可以使用jquery ajax方法轻松完成此操作,

PHP文件“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 Part:

<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>

这将按你的意愿工作,我希望它会有所帮助......

答案 2 :(得分:1)

只是从以前的答案中提供更多细节:

PHP is a preprocessorit's actually in its name!)。从本质上讲,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。例如,对您的AJAX网址的GET请求,例如http://example.com/deletepost.php?id=5将允许PHP获取通过的数据。 $_GET(在提供的示例网址中,deletepost.php可以使用$_GET['id']来确定您要删除的帖子。

其他方法包括cookieswebsockets

在您的情况下,您希望网页在客户端操作后执行服务器端操作。这意味着您需要采用 JavaScript到PHP 的路线。因此(这就是其他人都说过的原因),你应该使用AJAX。

E.g。

将onClick事件绑定到JavaScript函数。

该功能(触发时)向服务器发送AJAX请求。

服务器通过输出数据进行响应。

JavaScript解析并向用户显示数据。

为了进一步阅读,我建议您研究一下AJAX,以及如何使用它安全有效地将数据传递到服务器。