将DataTable与php和动态列一起使用

麻雀55

我试图让我的头在DataTables周围,但发现它很困难。我有一个表单,用户可以在其中粘贴1+行数据和1+列信息。

看起来可能如下所示:

a   b   c   d   e   f   g   h   i   j
443 39  70  10  38  11  161 15  477 318
99  452 229 11  63  23  38  104 190 100

在我处理并验证它之后,它可以作为以下版本使用(PHP var_dump()):

array (size=2)
  1 => 
    array (size=10)
      0 => string '443' (length=3)
      1 => string '39' (length=2)
      2 => string '70' (length=2)
      3 => string '10' (length=2)
      4 => string '38' (length=2)
      5 => string '11' (length=2)
      6 => string '161' (length=3)
      7 => string '15' (length=2)
      8 => string '477' (length=3)
      9 => string '318' (length=3)
  2 => 
    array (size=10)
      0 => string '99' (length=2)
      1 => string '4s52' (length=4)
      2 => string '22s9' (length=4)
      3 => string '11' (length=2)
      4 => string '63' (length=2)
      5 => string '23' (length=2)
      6 => string '38' (length=2)
      7 => string '104' (length=3)
      8 => string '190' (length=3)
      9 => string '100' (length=3)

或者

array (size=2)
  1 => 
    array (size=10)
      'a' => string '443' (length=3)
      'b' => string '39' (length=2)
      'c' => string '70' (length=2)
      'd' => string '10' (length=2)
      'e' => string '38' (length=2)
      'f' => string '11' (length=2)
      'g' => string '161' (length=3)
      'h' => string '15' (length=2)
      'i' => string '477' (length=3)
      'j' => string '318' (length=3)
  2 => 
    array (size=10)
      'a' => string '99' (length=2)
      'b' => string '4s52' (length=4)
      'c' => string '22s9' (length=4)
      'd' => string '11' (length=2)
      'e' => string '63' (length=2)
      'f' => string '23' (length=2)
      'g' => string '38' (length=2)
      'h' => string '104' (length=3)
      'i' => string '190' (length=3)
      'j' => string '100' (length=3)

我说“或”是因为我可以以任何一种方式输出-如果json与列名更好,我将以第二种方式进行。

我的HTML代码(使用Twig)是:

<table class="table" id="Panda1"></table>

<script type="text/javascript">
    $('#{{ Panda1 }}').dataTable( {
        "data": [{{ contentsArray | json_encode() | raw }}],
        "columns": [
            {% for column in ColumnArray %}
                { "title": "{{ column }}" },
            {% endfor %}
        ]
    } );
</script>

我的输出呈现为:

<script type="text/javascript">
    $('#Panda1').dataTable( {
        "data": [{"1":{"a":"443","b":"39","c":"70","d":"10","e":"38","f":"11","g":"161","h":"15","i":"477","j":"318"},"2":{"a":"99","b":"4s52","c":"22s9","d":"11","e":"63","f":"23","g":"38","h":"104","i":"190","j":"100"}}],
        "columns": [
            { "title": "a" },
            { "title": "b" },
            { "title": "c" },
            { "title": "d" },
            { "title": "e" },
            { "title": "f" },
            { "title": "g" },
            { "title": "h" },
            { "title": "i" },
            { "title": "j" },
        ]
    } );
</script>

我的问题是:

  1. 我如何正确处理PHP数组?
  2. 我需要使用mData吗?
  3. 我需要使用columnDefs吗?
  4. 在列中,我需要“标题”和“数据”吗?
麻雀55

解决了!我已将我的JavaScript更改为以下内容:

<script type="text/javascript">
    // Gets an array, containing an object with a single property, the property containing many objects
    // Then, we take the object which is the first element with [0]
    var myObj = [{{ contentsArray | json_encode() | raw }}][0];
    // We then iterate over the object's properties to get our rows.
    var array = Object.keys(myObj).map(function (key) {return myObj[key]});

    $('#{{ Panda1 }}').dataTable( {
        "data": array,
        "columns": [
            {% for column in ColumnArray %}
                { "title": "{{ column }}", "data": "{{ column }}" },
            {% endfor %}
        ]
    } );
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将R Shining与Leaflet和DataTable与反应对象一起使用

来自分类Dev

将R Shining与Leaflet和DataTable与反应对象一起使用

来自分类Dev

一起使用CSS和PHP

来自分类Dev

一起使用CSS和PHP

来自分类Dev

一起使用php和jquery

来自分类Dev

将myBatis与动态表名和对象一起使用

来自分类Dev

Excel VBA:将.formula与动态范围一起使用

来自分类Dev

将动态壁纸与AppCompat主题一起使用

来自分类Dev

将countif函数与动态条件一起使用

来自分类Dev

将@Output() 与动态添加的组件一起使用

来自分类Dev

Ajax / PHP / MySQL:将数据插入db不能与Ajax和PHP一起使用

来自分类Dev

使用symlink和php将外部用户目录与cPanel一起使用

来自分类Dev

jQuery DataTable-顶部和固定高度的列级过滤器无法一起使用

来自分类Dev

将Websocket与PHP和MySQL脚本一起使用的最佳方法是什么?

来自分类Dev

将PHP imap_search与FROM选项和hotmail帐户一起使用

来自分类Dev

将highcharts与php和MySql一起使用时,仅显示我的标题

来自分类Dev

如何将onclick()函数和POST方法与表单一起使用?(php)

来自分类Dev

将plyr和cor与多个数据框列一起使用

来自分类Dev

将准备好的语句与Dropwizard JDBI和PostgreSQL UUID列一起使用

来自分类Dev

如何将查询构建器与sum()列和groupBy一起使用

来自分类Dev

将useState与[]和不与之一起使用,以及与{}一起使用时的区别

来自分类Dev

将.loc与一列值一起使用

来自分类Dev

将Travis与R和rJava一起使用

来自分类Dev

将OpenLayers与RequireJS和AngularJS一起使用

来自分类Dev

将代理与HttpComponentsClientHttpRequestFactory和RestTemplate一起使用

来自分类Dev

将IOCP与send()和recv()一起使用

来自分类Dev

将MvcSiteMapProvider与属性和属性路由一起使用

来自分类Dev

将Like和Concat与Char类型一起使用

来自分类Dev

将UICollectionView与CoreData和NSFetchedResultsController一起使用

Related 相关文章

  1. 1

    将R Shining与Leaflet和DataTable与反应对象一起使用

  2. 2

    将R Shining与Leaflet和DataTable与反应对象一起使用

  3. 3

    一起使用CSS和PHP

  4. 4

    一起使用CSS和PHP

  5. 5

    一起使用php和jquery

  6. 6

    将myBatis与动态表名和对象一起使用

  7. 7

    Excel VBA:将.formula与动态范围一起使用

  8. 8

    将动态壁纸与AppCompat主题一起使用

  9. 9

    将countif函数与动态条件一起使用

  10. 10

    将@Output() 与动态添加的组件一起使用

  11. 11

    Ajax / PHP / MySQL:将数据插入db不能与Ajax和PHP一起使用

  12. 12

    使用symlink和php将外部用户目录与cPanel一起使用

  13. 13

    jQuery DataTable-顶部和固定高度的列级过滤器无法一起使用

  14. 14

    将Websocket与PHP和MySQL脚本一起使用的最佳方法是什么?

  15. 15

    将PHP imap_search与FROM选项和hotmail帐户一起使用

  16. 16

    将highcharts与php和MySql一起使用时,仅显示我的标题

  17. 17

    如何将onclick()函数和POST方法与表单一起使用?(php)

  18. 18

    将plyr和cor与多个数据框列一起使用

  19. 19

    将准备好的语句与Dropwizard JDBI和PostgreSQL UUID列一起使用

  20. 20

    如何将查询构建器与sum()列和groupBy一起使用

  21. 21

    将useState与[]和不与之一起使用,以及与{}一起使用时的区别

  22. 22

    将.loc与一列值一起使用

  23. 23

    将Travis与R和rJava一起使用

  24. 24

    将OpenLayers与RequireJS和AngularJS一起使用

  25. 25

    将代理与HttpComponentsClientHttpRequestFactory和RestTemplate一起使用

  26. 26

    将IOCP与send()和recv()一起使用

  27. 27

    将MvcSiteMapProvider与属性和属性路由一起使用

  28. 28

    将Like和Concat与Char类型一起使用

  29. 29

    将UICollectionView与CoreData和NSFetchedResultsController一起使用

热门标签

归档