使用laravel动态地在垂直列中创建带有标题的HTML表格?

时间:2016-10-10 00:57:25

标签: php html laravel-5 html-table laravel-blade

我一直在寻找,但所有答案和文档都是针对那些不能动态生成所有内容的表格。

这是我的刀片文件:

var container = $('#mytext');
var length = 55;
var insert = '<br/>';
var text = container.text().trim(); // text() or html()
var dotPosAfterLength = text.indexOf(".", length);
if (dotPosAfterLength != -1) {
    container.html(
        text.substring(0, dotPosAfterLength+1)
        +insert
        +text.substring(dotPosAfterLength+1)
    );
}

一切正常,除了一个问题,头部水平,而不是垂直。我希望能够自动填充数据库中的数据并将其并排显示。

像这样:

@extends('layout')

@section('content')
    <h1>User Profile Data</h1>
        <table class="table table-striped">
        <tr>
            @foreach ($columns as $column => $name)

               <th><strong> {{ $name }} </strong></th>

            @endforeach

            @foreach ($profile as $person)

                @foreach ($person as $name)

                   <td> {{ $name }} </td>

                @endforeach

            @endforeach
        </tr>
        </table>
@stop

我错过了什么?

1 个答案:

答案 0 :(得分:2)

v.1直接生成垂直标题表。

在您了解表格在HTML中的实际外观后,可以轻松解决这个问题,以便拥有垂直标题。

<h1>User Profile Data</h1>
<table class="table table-striped">
    <tr>
        <th><strong> Name: </strong></th>
        <td> John </td>
        <td> Joane </td>
    </tr>
    <tr>
        <th><strong> Surname: </strong></th>
        <td> Doe </td>
        <td> Donald </td>
    </tr>
    <tr>
        <th><strong> Email: </strong></th>
        <td> john.doe@email.com </td>
        <td> jane@email.com </td>
    </tr>
</table>

在了解了上述目标后,您只需嵌套foreach循环,以便填充数据。

对于每列,您必须从配置文件返回匹配的数据。 而不是返回$person->name使用$person[$col]

要嵌套foreach,请使用与您的其他问题相同的技巧: How to show data from (multidimensional?) arrays with Laravel 5.3 blade

v.2使用普通表结合CSS技巧来重排表 导入twitter bootstrap并在格式良好的表格上使用.table-reflow

生成的表格如下所示,可以使用您的初始laravel代码生成:

<table class="table table-striped table-hover table-reflow">
    <thead>
        <tr>
            <th ><strong> Name: </strong></th>
            <th ><strong> Surname: </strong></th>
            <th ><strong> Email: </strong></th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td> John </td>
            <td> Doe </td>
            <td> john.doe@email.com </td>
        </tr>
        <tr>
            <td> Joane </td>
            <td> Donald </td>
            <td> jane@email.com </td>
        </tr>
    </tbody>
</table>

内容顺序和复杂表格 请注意,表格重排样式会更改内容的可视顺序。确保仅将此样式应用于格式良好的和简单数据表(特别是,不要将其用于布局表),每行包含适当的<th>表格标题单元格和专栏。

此外,对于包含跨多个行或列的单元格的表(使用rowspan或colspan属性),此类将无法正常工作。

您应该在这里查看文档:

twitter-bootstrap .table-reflow

编辑:

除了Kronmark的优点之外,我将这里留给新人。这就是自动化表的外观:

   <table class="table table-striped table-hover table-reflow">
        @foreach($array as $key=>$value)
                <tr>
                    <th ><strong> {{ $key }}: </strong></th>
                    <td>  {{ $value }} <td>
                </tr>
        @endforeach
    </table>

键是表中的标题,值是与之关联的数据点。即Full_Name = Key,John Magsson =值。 这是从一个数组产生的,这个过程应该在这里解释:

Blade view not printing data from array

祝你好运。 :)