在PHP函数上使用Javascript数组,无论是在同一文件上还是在其他函数上
我知道这个问题已经被问了很多次了,但我仍然没有找到我所面临的具体问题的答案。我正在创建一个网页,每当用户单击某个特定按钮时,我都希望该网页从php函数上动态创建的表中获取数据。因为PHP没有内置函数来实现这一点,至少据我所知,我决定使用Javascript将表数据转换为带有JSON元素的am数组。我想通过以下方法实现这一点:在PHP函数上使用Javascript数组,无论是在同一文件上还是在其他函数上,javascript,php,jquery,arrays,ajax,Javascript,Php,Jquery,Arrays,Ajax,我知道这个问题已经被问了很多次了,但我仍然没有找到我所面临的具体问题的答案。我正在创建一个网页,每当用户单击某个特定按钮时,我都希望该网页从php函数上动态创建的表中获取数据。因为PHP没有内置函数来实现这一点,至少据我所知,我决定使用Javascript将表数据转换为带有JSON元素的am数组。我想通过以下方法实现这一点: function getTableData(){ var array = []; var headers = [];
function getTableData(){
var array = [];
var headers = [];
$('#tablaListado th').each(function(index, item) {
headers[index] = $(item).html();
});
$('#tablaListado tr').has('td').each(function() {
var arrayItem = {};
$('td', $(this)).each(function(index, item) {
arrayItem[headers[index]] = $(item).html();
});
array.push(arrayItem);
});
actualizarCostos(array);
}
我在另一个函数中使用此数据将其解析为PHP函数:
function actualizarCostos(array){
if(array.constructor === Array){
for(var i = 0; i < array.length ; i++){
<?php updateCosts(JSON.stringify(array[i]))?>
}
}else{
alert("Input must be array");
}
}
costos函数(数组){
if(array.constructor==数组){
对于(var i=0;i
我知道上面的方法不是正确的方法,我也读了一些关于AJAX的知识。我的问题是:有没有一种方法可以在同一个文件上调用函数?如果没有,是否有更简单的方法在另一个PHP文件上使用AJAX,该文件将具有我需要的功能以及其他文件
谢谢大家! 这个问题的答案是:不,不能在PHP中使用Javascript中的变量。您可以使用PHP生成有效的Javascript代码,但反过来不行。原因是PHP在服务器端处理,而Javascript在客户端(浏览器)处理 注意:您也可以使用Node在服务器端处理Javascript,但您已经在使用PHP了。如何在NodeJs中使用服务器端javascript超出了问题的范围
现在,您可以使用PHP创建该表,而不必使用JS。我假设您的数据是数组格式的,所以查看PHP循环,如
foreach
。然后通过回显(参见echo(“”)
)表标记(table、thead、tbody、td、tr等)来构建一个表。问题的答案是:不。不能在PHP中使用Javascript中的变量。您可以使用PHP生成有效的Javascript代码,但反过来不行。原因是PHP在服务器端处理,而Javascript在客户端(浏览器)处理
注意:您也可以使用Node在服务器端处理Javascript,但您已经在使用PHP了。如何在NodeJs中使用服务器端javascript超出了问题的范围
现在,您可以使用PHP创建该表,而不必使用JS。我假设您的数据是数组格式的,所以查看PHP循环,如
foreach
。然后通过回显(参见echo(“”)
)表标记(table、thead、tbody、td、tr等)来构建一个表。在PHP中不能使用Javascript中的变量
因为
Javascript(客户端)和PHP(服务器端)
因此,在当前环境下,您可以做如下操作
客户端
function actualizarCostos(array){
if(array.constructor === Array){
// Here you need ajax
$.post('http://myhost.mydomain.com/update_cost.php',
{ table_data : array }, function(response){
// do something after getting response
});
}else{
alert("Input must be array");
}
}
服务器端(更新\u cost.php)
不能在PHP中使用Javascript中的变量 因为 Javascript(客户端)和PHP(服务器端) 因此,在当前环境下,您可以做如下操作 客户端
function actualizarCostos(array){
if(array.constructor === Array){
// Here you need ajax
$.post('http://myhost.mydomain.com/update_cost.php',
{ table_data : array }, function(response){
// do something after getting response
});
}else{
alert("Input must be array");
}
}
服务器端(更新\u cost.php)
恐怕情况就是这样:(好吧,如果是这样的话,我知道我说过据我所知PHP不可能获取HTML表数据。我的假设是错误的吗?作为对您编辑的回应。我的数据是从MySQL查询创建的,然后以HTML格式放入表中。为了能够构建HTML表,您需要数据。找出数据的来源(服务器端)。然后通过调用生成该数据的方法重新使用该数据,或者查询数据库以提取所需的数据。恐怕情况就是这样:(好吧,如果是这样的话,我知道我说过据我所知PHP不可能获取HTML表数据。我的假设是错误的吗?作为对您编辑的回应。我的数据是从MySQL查询创建的,然后以HTML格式放入表中。为了能够构建HTML表,您需要数据。找出数据的来源(服务器端)。然后通过调用生成该数据的方法重新使用该数据,或者查询数据库以提取所需的数据。谢谢您的回答:)对于这种方法,我有一个问题:如果我拥有的功能超过了那个功能,它就不会干扰它们了?@JulioGarcia:对不起,我没有理解的含义,如果我拥有的功能超过那个功能,它就不会干扰它们了?
,你能不能elaborate@AkshayHedge是的,当然。我将把函数放在一个文件中,该文件包含更多函数,如updateCosts()
updateQty()
..@JulioGarcia:没问题,您可以放置任意数量的函数,并且可以process@AkshayHedge很抱歉,我花了很长时间才回答。我尝试了你的方法,但我一直收到错误:错误:jQuery21405680291895882033_1487801210725没有打电话
谢谢你的回答:)对于这种方法,我有一个问题:如果我拥有的功能超过了那个功能,它就不会干扰它们了?@JulioGarcia:对不起,我没有理解的含义,如果我拥有的功能超过那个功能,它就不会干扰它们了?
,你能不能elaborate@AkshayHedge是的,当然。我将把函数放在一个文件中,该文件包含更多函数,如updateCosts()
updateQty()
..@JulioGarcia:没问题,您可以放置任意数量的函数,并且可以process@AkshayHedge很抱歉,我花了很长时间才回答。我尝试了您的方法,但不断收到错误:错误:jQuery21405680291895882033_1487801210725未被调用