有没有办法使用javascript用新数据替换整个表?

有没有办法使用javascript用新数据替换整个表?,javascript,php,html,Javascript,Php,Html,我正在制作一个网页,以表格的形式显示来自两个不同位置的数据。我有一个选择下拉菜单来选择位置。在选择位置时,我希望更改表内容以匹配该位置 我已经有了表内容所需的HTML字符串(在加载页面时从python脚本获得的php变量中),我只需要能够用新字符串替换当前表数据 我在网上查找过,但我找到的所有答案都是关于替换各行中的数据 这就是我所拥有的: HTML: Javascript: <script type="text/javascript"> function changeTab

我正在制作一个网页,以表格的形式显示来自两个不同位置的数据。我有一个选择下拉菜单来选择位置。在选择位置时,我希望更改表内容以匹配该位置

我已经有了表内容所需的HTML字符串(在加载页面时从python脚本获得的php变量中),我只需要能够用新字符串替换当前表数据

我在网上查找过,但我找到的所有答案都是关于替换各行中的数据

这就是我所拥有的:

HTML:


Javascript:

<script type="text/javascript">
  function changeTableData() {
    var new_location = document.getElementById("site_switch_location").value;
    var table_data = <?php echo $resultData["table_fill"][new_location] ?>;
    document.getElementById("all_data").innerHTML = table_data;
  }
</script>

函数changeTableData(){
var new_location=document.getElementById(“站点开关位置”).value;
var表_数据=;
document.getElementById(“所有_数据”).innerHTML=表_数据;
}

使用jQuery框架,您可以创建一个请求服务器端并返回响应的基础结构。由于PHP是一种服务器端语言,数据只表示一次,因此,我们可以在后台向服务器发送HTTP请求以刷新数据页面

$(function () {
    var currentPagination = 1;
    $.get('/path/to/file/or/dynamic/route', { pagination: currentPagination++ })
        .done(function(content) {
            // your code logic to fill the table
            console.log(content);
        }
    );
});
您的PHP文件看起来类似于以下内容:

if(empty($_GET['pagination']) || !isset($_GET['pagination'])) exit();
$entity = new PDO(); # your credentials
$entity->setAttributes(); # your attributes ie ERR_MODE
$query = $entity->prepare('SELECT x,y,z FROM table WHERE id > ? LIMIT 1');
$query->execute(array($_GET['pagination']));
header('Content-Type: application/json');
die(json_encode($query->fetch());

因此,您所做的只是增加分页(即对应数据的列id),将其长时间传递给HTTP,并使用AJAX更新表中的信息。

您对这些工作方式有一个基本的误解。php代码在服务器上运行。然后将运行结果发送到浏览器。在这里,javascript被解释。所以…是的,你想做的是可能的,但这还不是开始。在web上查找AJAX,它是使用JS异步加载/更新数据(即在页面加载完成后)的技术的通用名称,支持spectras注释,您需要使用AJAX调用来获取另一个表数据。在这种情况下,如果您第一次获得两个表数据,那么您需要呈现两个表,并根据您的更改使用样式显示块,或者不使用样式显示块。这就是您要尝试做的吗?最好的方法是更改地址栏url,然后在php中获得更改位置并填充正确的表。例如,您的地址栏应该看起来像url/India和url/usa,这里的位置将是动态的谢谢大家的评论!我现在正在学习如何使用AJAX。然而,我用阿拉克山达尔的答案解决了我的问题。我呈现了这两个表,并在javascript中更改了显示样式属性,因为我已经在PHP变量中拥有了所有数据。
if(empty($_GET['pagination']) || !isset($_GET['pagination'])) exit();
$entity = new PDO(); # your credentials
$entity->setAttributes(); # your attributes ie ERR_MODE
$query = $entity->prepare('SELECT x,y,z FROM table WHERE id > ? LIMIT 1');
$query->execute(array($_GET['pagination']));
header('Content-Type: application/json');
die(json_encode($query->fetch());