合并数据表中的列

时间:2018-03-29 20:43:51

标签: php html-table datatables

我正在尝试创建数据表以便使用导出选项。据我所知,如果标签不正确,该表将无效。我正在努力实现一个表格,列出配方成分,数量和方法。因为我只希望方法显示一次,我想合并最后一列并将其放在中心 - 这就是问题发生的地方。我创建了一个if语句来检查方法是否已经打印过。使用以下代码显示我想要的方式,但我不明白如何正确关闭td标签....

我收到的错误是:

  

未捕获的TypeError:无法设置未定义的属性'_DT_CellIndex'

<table id="table_id" class="display" width="50">
<thead>
    <tr>
        <th>
            Quantity
        </th>
        <th>
            Ingredient
        </th>
        <th>
            Method
        </th>
    </tr>
</thead>
<tbody>
<?php
$ifExists = false;
while ($dbRow2 = $dbQuery3->fetch(PDO::FETCH_ASSOC)) {
    $ingredients=$dbRow2["ingredient"];
    $quantity=$dbRow2["quantity"];
    echo '<tr>';
    echo '<td>';
    echo "$quantity";
    echo '</td>';
    echo '<td>';
    echo "$ingredients";
    echo '</td>';
    $count=$dbQuery3->rowCount();

    if($ifExists == false){
        echo "<td rowspan='$count'>";
        echo "$method";
        echo '</td>';
        $ifExists = true;
        echo '</tr>';
    }
    else {
        echo '</td>';
        echo '</tr>';   
    }   
}

2 个答案:

答案 0 :(得分:0)

兄弟的错误很简单 如果您的else部分已执行,则会尝试关闭未启用的</td>

试试这个

else {
//  echo '</td>';
    echo '</tr>';   
}   

答案 1 :(得分:0)

我不认为DataTables目前支持在表体内部实现rowpans(仅在标题中)。然而,有一些插件可用于将单元组合在一起作为行跨 - 尝试rowsGroup插件(https://github.com/ashl1/datatables-rowsgroup)。

在DataTable调用中使用此插件,您可以执行以下操作:

var table = $('#table_id').DataTable({'rowsGroup': [2]});

让我知道你是怎么过的!