在我的页面上,我有一个表格,此表格包含一个项目列表和一个编辑按钮。
单击编辑按钮时,我想在表格中填入表格中特定于该条目的信息。所有信息都存储在mySQL数据库中,可以通过PHP访问。
我需要在编辑按钮上使用我的javascript来获取PHP的表行标识符,它将查询数据库,返回正确的值,然后javascript需要接收这些条目并填写表单。
我该怎么做?
我可以通过填充变量然后检查:
来导致PHP模拟“事件”if($variable){
[do query]
}
但是如何从Javascript中填充该变量,同时记住HTML,JS和PHP嵌套在同一页面中?
答案 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.php
和edit.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。