【问题标题】:How to make a html element load after another despite the order of the code?尽管代码的顺序如何,如何使一个 html 元素一个接一个地加载?
【发布时间】:2019-09-03 22:34:49
【问题描述】:

我正在寻找一种在加载另一个 html 元素后如何加载 html 元素的方法。

有什么办法吗?

<table id="table1">
  <tr>
  </tr>
</table>

<php /* some php code */ ?>

<table id="table2">
  <tr>
  </tr>
</table>

如何让 table1 在 table2 之后加载,并保持与上面显示的代码顺序相同?

【问题讨论】:

  • 你想解决什么真正的问题?
  • php 代码计算了一些值,顶部表格不显示总数,底部表格显示。我尝试使用 str_replace 从底部表中替换顶部表中的值,但没有奏效。所以我正在寻找其他方法。
  • 您可以以相反的顺序输出它们,然后使用 flexbox 的order 属性再次以不同的顺序显示它们……但这可能不是最好的解决方案,如果两个表中的数据都是有关的。 “我尝试使用 str_replace 从底部表中替换顶部表中的值,但没有奏效。” - 请告诉我们你尝试了什么? (我有时在这种情况下使用的另一个小技巧是使用 sprintf - 第一个表被组装成一个字符串,%…占位符放在我以后想要插入附加值的地方…)
  • “php 代码计算了一些值,顶部表格不显示总数,底部表格显示。” - 为什么 PHP 代码 那么这两个表,而不是在它们之前......?
  • php 代码必须在中间.. php 代码基本上在行之间的另一个表中写出产品 - 产品名称、价格、成本等.. 表 1 和表 2 只是摘要整个块的顶部和底部的表格。所以代码顺序需要保持原样:(。

标签: php html html-table


【解决方案1】:

基本上它会变成这样:

<php /* some php code */ ?>

<table id="table1">
  <tr>
  </tr>
</table>

<table id="table2">
  <tr>
  </tr>
</table>

在输出任何内容之前,执行所有必要的 PHP 处理以创建两个表所需的数据。然后使用处理后的数据按顺序输出表格。如果您在从某个来源(如数据库)获取数据时输出第一个表,这意味着您需要暂时将该数据提取到一个数组中,直到您处理完它,而不是立即输出它。

如果&lt;php /* some php code */ ?&gt; 产生的输出需要在表 1 和表 2 之间传递,这仍然可以通过几种不同的方式工作,例如使用输出缓冲。

<?php
ob_start();
 /* some php code */
$middle_content = ob_get_clean();
?>

<table id="table1">
  <tr>
  </tr>
</table>

<?php echo $middle_content ?>

<table id="table2">
  <tr>
  </tr>
</table>

我认为也应该可以在不输出任何数据的情况下计算中间块中的数据的摘要数据,但是如果不查看更多代码,很难准确地说出它是如何工作的。

【讨论】:

  • 问题是php代码需要在中间。表 1 和表 2 只是顶部和底部的汇总表。
  • 您仍然可以在将任何输出发送到浏览器之前完成所有这些处理。有多种方法可以做到这一点。一种方法是使用输出缓冲捕获两个表之间的任何输出。
猜你喜欢
  • 1970-01-01
  • 2023-03-04
  • 2021-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多