让Javascript与PHP交谈

时间:2010-08-26 12:31:56

标签: php javascript mysql html communication

在我的页面上,我有一个表格,此表格包含一个项目列表和一个编辑按钮。

单击编辑按钮时,我想在表格中填入表格中特定于该条目的信息。所有信息都存储在mySQL数据库中,可以通过PHP访问。

我需要在编辑按钮上使用我的javascript来获取PHP的表行标识符,它将查询数据库,返回正确的值,然后javascript需要接收这些条目并填写表单。

我该怎么做?

我可以通过填充变量然后检查:

来导致PHP模拟“事件”
if($variable){
     [do query]
}

但是如何从Javascript中填充该变量,同时记住HTML,JS和PHP嵌套在同一页面中?

6 个答案:

答案 0 :(得分:5)

HTML,JS和PHP实际上并不是“在同一页面”,如果你不这么认为它会有所帮助。

您有一个PHP程序,可以将HTML文档输出到浏览器。该文档中嵌入了JS。

为了从JS向PHP发送消息,您需要发出HTTP请求。这可以通过生成表单并使用XMLHttpRequest或其他一些方法提交表单来完成。

XMLHttpRequest是最常见的,允许您在不离开页面的情况下执行此操作。这被称为Ajax。您可以在this question中找到有关如何开始使用此技术的一些建议。

您可能应该将访问PHP的数据库分离为可重用的块,该块在首先用于生成页面的URL之间共享,以及用于生成数据的snippit以便及时更新它的URL(格式化此使用JSON的数据可能是一个好主意。)

答案 1 :(得分:2)

看起来好一些好的ajax对你有好处。 jQuery实现将是这样的

   $('.button-class').click(function(){
        $.ajax({
      url: 'your-php-page.php?id=xxx', //Call your php page here
      success: function(data) {
        $('.table-row').html(data); // Update your page with the data returned
      }
    }); 
    });

答案 2 :(得分:1)

  

我该怎么做?

解决此问题的常用方法是在索引页面中添加一个超链接,该超链接指的是显示编辑页面的页面。所以你会有网址:index.phpedit.php?id=42。你有什么理由不想这样做吗?

答案 3 :(得分:1)

PHP在页面加载时运行,并且在重新加载页面之前无法再次访问。您的解决方案是放置将更新的脚本,或运行您需要的查询,并使用Jquery Ajax

访问它

答案 4 :(得分:1)

您可以通过对服务器进行异步调用并等待服务器响应来实现。这称为AJAX(异步Javascript和XML)。

这是一个基本教程:http://www.w3schools.com/ajax/default.asp

如果您想使用AJAX,还有许多JS库(例如JQuery et Co.)可能会让您的生活更轻松

答案 5 :(得分:0)

使用AJAX提取数据,查看Jeditable