当前位置: 首页 > 知识库问答 >
问题:

在8个结果之后继续循环-分离到整个新表中

翟永春
2023-03-14

我需要修改我的代码来显示包含8个结果的1个表,停止,然后产生另一个结果编号为9及以上的全新表。

我的想法是,Rest;并继续,;可能有用,但我应该如何将整个表包装在foreach循环中,并防止它显示8个我不知道的表。

我确定HEADER计数超过8列。在这个例子中有9个头。包括第一个空白的。

<?php

$table3 = get_field( 'bottom_chart' );

if ( $table3 ) {

    if($table3['header']) {
        $theader3 = 1;
        foreach ( $table3['header'] as $th1 ) {
            //echo $theader3;
            $theader3++;
        }
    }

    echo '<table border="0" class="mytable">';

        if ( $table3['header'] ) {

            echo '<thead>';

                echo '<tr>';

                    foreach ( $table3['header'] as $t3 ) {

                        echo '<th class="tdtitle">';
                            echo $t3['c'];
                        echo '</th>';
                    }

                echo '</tr>';

            echo '</thead>';
        }

        echo '<tbody>';

            $first_td_bottomchart = 0;

            foreach ( $table3['body'] as $tr3 ) {

                echo '<tr>';

                    foreach ( $tr3 as $td3 ) {

                        if(($first_td_bottomchart %8) == 0) {
                            echo '<td class="lefttitle bold tdtitle">' . $td3['c'] . '</td>';
                        } elseif(!empty($td3['c'])) {
                            echo '<td rowspan="4">';
                                echo '<div class="progress progress-striped"><div class="bottom_chart progress-bar progress-bar-danger" role="progressbar" aria-valuenow="' . $td3['c'] . '" aria-valuemin="0" aria-valuemax="100" style="width: 0%"></div></div>';
                                echo $td3['c'];
                            echo '</td>';
                        }
                        $first_td_bottomchart++;
                    } ?>

                <?php echo '</tr>';

            }

        echo '</tbody>';

    echo '</table>';

}

?>

共有1个答案

钱和安
2023-03-14

好的,如果我们假设$table3['body']的元素计数与$table3['header']相同,那么您的代码基本上开始构建表头,但是当我们在前8个循环中到达主体时,您让表创建行跨度?

这难道不应该吗?https://plnkr.co/edit/B31QPDamCDHiQANAYpdx?p=preview

<table width="100%" border="1" cellspacing="0" cellpadding="0">
<thead>
        <th>1 Rowspan Table</th>
        <th>2</th>
        <th>3</th>
        <th>4</th>
        <th>5</th>
        <th>6</th>
        <th>7</th>
        <th>8</th>
        <th>9</th>
  </thead>
<tbody>
<!-- **Invalid table structure and markup:** -->
<tr>
  <td class="lefttitle bold tdtitle">$td3['c']</td>
  <td rowspan="4">&nbsp;</td>
  <td rowspan="4">&nbsp;</td>
  <td rowspan="4">&nbsp;</td>
  <td rowspan="4">&nbsp;</td>
  <td rowspan="4">&nbsp;</td>
  <td rowspan="4">&nbsp;</td>
  <td rowspan="4">&nbsp;</td>
</tr>
<!-- **VALID table structure and markup:** -->
<tr>
  <td class="lefttitle bold tdtitle">$td3['c']</td>
  <td colspan="4">&nbsp;</td>
  <td colspan="4">&nbsp;</td>
</tr>

同样在%8之后,同一行根据$tr3中元素的数量作为$td3继续使用rowspan。(如果这与$table3['头']中元素的数量一致);

另一个问题是,如果出于某种原因$td3['c']为空,则整个表结构将被抛出窗口。

您依赖太多未知变量来为自己构建表结构。

我只会循环$table3['header']一次,并在这个循环中构建您的表逻辑,以防止混淆和元素计数不匹配。

不清楚您想跨越哪些单元格:您能否将您想要的单元格合并到Excel工作表中作为示例,并将其与您的问题联系起来。然后我可以为你提供一个更简单的html" target="_blank">解决方案。

 类似资料:
  • 问题内容: 我有这段代码。我想回到循环的起点,并再次要求用户输入。但是,它总是循环而不停止请求输入。我的代码有什么问题?谢谢 问题答案: 从http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html#nextInt%28int%29: “如果翻译成功,则扫描程序将前进经过匹配的输入。” 啊,但是如果翻译是什么 不是 成功的?在这种

  • 问题内容: 我想知道是否有任何内置方法可以继续进行python外循环中的下一次迭代。例如,考虑以下代码: 我希望此继续语句退出jj循环并转到ii循环中的下一项。我可以通过其他方式(通过设置标志变量)来实现此逻辑,但是有一种简单的方法可以做到这一点,还是像要求太多? 问题答案: 在一般情况下,当您有多个循环级别且对您不起作用时(因为您要继续上一个循环,而不是当前循环的右上循环),可以执行以下操作之一

  • 问题内容: 我可能错过了一些简单的事情,但似乎在这里被阻止了……我有一个带有两个表的MySQL数据库,每个表都有几行。因此,目标是查询数据库并在表中显示结果,因此我开始是这样的: 然后我有这个PHP代码: 然后,我用它来获取数组: 在这一点上,我认为我可以简单地遍历数组并将结果显示在表中。我已经有一个函数可以执行表的循环和显示,但是不幸的是,数组在到达函数之前似乎还不完整。 要对此进行故障排除,请

  • 问题内容: 我有下表。 我正在使用ID获取分组结果 现在,我想将project_id,category_id,supplier_id插入主表,并将item_id,qty,rate插入其明细表。明细表会将主表ID作为外键。请帮忙。 问题答案: 假设这个模式: 可以做到这一点:

  • 这是我在控制器中的getIndex()函数中的东西 所以我希望从循环中获取所有类别名称。 但是,例如,如果我希望通过在视图中执行此操作来获得结果 结果是 > 对象(类别)169(20){[“可填充”:受保护]= 字符串(3)“foo1” 第一个结果从哪里来,我如何摆脱它?谢谢!

  • 问题内容: 一旦在此代码中捕获到异常,该方法就会运行,但是一旦我输入一个数字,程序就会关闭,并显示“生成成功”消息。一旦发生异常,是否有任何方法可以返回while循环? 问题答案: 将 try / catch 放入 while循环中 :